home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / LK_V1.06.LHA / LK V1.06 / SOURCES / Installation < prev    next >
Encoding:
Text File  |  1994-11-01  |  77.9 KB  |  3,177 lines

  1. ; lk© installer script
  2. ; $VER: lk 1.06 (18.08.94)
  3. ; Written by Alexis WILKE (c) 1994
  4. ; This script uses the program Installer of Commodore Business Machins
  5. ; Uses Tab-Stop 2
  6.  
  7.  
  8. (if (not (= @language "français"))
  9.     (
  10.         (set @abort-button "Abort lk© Install")
  11.         (set *lan 1)
  12.     )
  13.     (
  14.         (set @abort-button "Annulé lk© Instal.")
  15.         (set *lan 0)
  16.     )
  17. )
  18.  
  19. (set *exit
  20.     (if *lan
  21.         (cat
  22.             "No further installation will occur.\n"
  23.             "\n"
  24.             "lk© is a CopyRight of\n"
  25.             "Alexis WILKE (c) 1993-1994\n"
  26.             "\n"
  27.             "Thank you for selecting lk©.\n"
  28.             "\n"
  29.             "Great to see you again."
  30.         )
  31.         (cat
  32.             "Plus aucune installation n'arrivera.\n"
  33.             "\n"
  34.             "lk© est un CopyRight de\n"
  35.             "Alexis WILKE (c) 1993-1994\n"
  36.             "\n"
  37.             "Merci d'avoir sélectionné lk©.\n"
  38.             "\n"
  39.             "À bientôt."
  40.         )
  41.     )
  42. )
  43.  
  44. (set *minsize 2097152)
  45. (set *neededsize
  46.     (cat
  47.         (shiftright *minsize 20)
  48.         (if (< (bitand *minsize $000FFFFF) 0)
  49.             (cat
  50.                 "."
  51.                 (/ (* (bitand *minsize $000FFFFF) 100) $00100000)
  52.                 " "
  53.             )
  54.             ""
  55.         )
  56.         (if *lan "Mb" "Mo")
  57.     )
  58. )
  59.  
  60. (if (not *lan)
  61.     (set @askdir-help
  62.         (cat
  63.             "Explications de controles:\n"
  64.             "    La large liste que vous pouvez scroller "
  65.             "au milieu de votre écran est la liste des "
  66.             "disques et répertoires que vous pouvez "
  67.             "actuellement sélectionner. Les répertoires "
  68.             "y sont indiqués avec les lettres 'DRW' mises "
  69.             "au devant de leur nom. Le nom du répertoire "
  70.             "actuel apparaît dans la boîte d'édition "
  71.             "juste en dessous. Sur la droite il existe "
  72.             "un 'slider' qui permet de scroller dans "
  73.             "la liste, dans le cas où il y a plus de "
  74.             "noms qu'il ne peut y en avoir dans la fenêtre.\n"
  75.             "    Vous pouvez changer de sélection en "
  76.             "tapant un nouveau nom de répertoire dans "
  77.             "la boîte d'édition, ou en cliquant sur les "
  78.             "noms des drawers présent dans la liste.\n"
  79.             "    Le bouton 'Parent Drawer' vous permet "
  80.             "de voir le répertoire qui contient celui-ci, "
  81.             "en d'autres termes: le père du drawer "
  82.             "actuellement visible.\n"
  83.             "    Le bouton 'Show Drives', lorsqu'il est "
  84.             "cliqué, vous permet d'avoir une liste de "
  85.             "tous les disques présent dans votre système. "
  86.             "Vous pouvez alors cliquer sur le nom d'un "
  87.             "disque pour en voir le contenu.\n"
  88.             "    Le bouton 'Make New Drawer' vous permet "
  89.             "de créer un nouveau répertoire. Le nouveau "
  90.             "répertoire est créée dans le répertoire que "
  91.             "vous visualisez actuellement.\n"
  92.             "    Le bouton 'Proceed' indique que vous "
  93.             "êtes satisfait avec le répertoire actuellement "
  94.             "sélectionné. Vous pouvez alors continuer "
  95.             "l'installation.\n"
  96.             "    Le bouton 'Annulé lk© Install.' annulera "
  97.             "l'installation. Aucun autre changement n'aura "
  98.             "lieu.\n"
  99.             "    Le bouton 'Help...' vous a donné ce texte."
  100.         )
  101.     )
  102. )
  103.  
  104.  
  105. (set *path (pathonly @icon))
  106.  
  107.  
  108. (set *newver
  109.     (getversion (tackon *path "lk"))
  110. )
  111.  
  112.  
  113. (set *newverstring
  114.     ("V%ld.%02ld"
  115.         (shiftright *newver 16)
  116.         (bitand *newver $0FFFF)
  117.     )
  118. )
  119.  
  120. (set *version
  121.     (getversion "exec.library" (resident))
  122. )
  123.  
  124.  
  125.  
  126. (message
  127.     (if *lan
  128.         (cat
  129.             "Welcome to the famous world of lk© linker\n"
  130.             "\n"
  131.             "lk© is a CopyRight of\n"
  132.             "Alexis WILKE (c) 1993-1994\n"
  133.             "\n"
  134.             "lk© is also compatible with your linkers:\n"
  135.             "\n"
  136.             "Blink      (From 'TSD/SAS')\n"
  137.             "Slink      (From 'SAS')    \n"
  138.             "dlink      (From 'DICE')   \n"
  139.             "alink      (From '???')    \n"
  140.             "\n"
  141.             ("(System version %ld.%02ld)"
  142.                 (shiftright *version 16)
  143.                 (bitand *version $0FFFF)
  144.             )
  145.             (if @pretend
  146.                 "\nThis script does not work in pretend mode"
  147.             )
  148.         )
  149.         (cat
  150.             "Bienvenue dans le monde fameux du lieur lk©\n"
  151.             "\n"
  152.             "lk© est un CopyRight de\n"
  153.             "Alexis WILKE (c) 1993-1994\n"
  154.             "\n"
  155.             "Et lk© est compatible avec votre lieur:\n"
  156.             "\n"
  157.             "Blink       (De 'TSD/SAS')\n"
  158.             "Slink       (De 'SAS')    \n"
  159.             "dlink       (De 'DICE')   \n"
  160.             "alink       (De '???')    \n"
  161.             "\n"
  162.             ("(Système version %ld.%02ld)"
  163.                 (shiftright *version 16)
  164.                 (bitand *version $0FFFF)
  165.             )
  166.             (if @pretend
  167.                 "\nCe scripte ne fonctionne pas en mode 'pretend'"
  168.             )
  169.         )
  170.     )
  171. )
  172.  
  173. (if @pretend
  174.     (exit *exit)
  175. )
  176.  
  177.  
  178.  
  179.  
  180. (set *destdir
  181.     (askdir
  182.         (prompt
  183.             (if *lan
  184.                 "Select the Destination Directory"
  185.                 "Sélectionnez le Répertoire de Destination"
  186.             )
  187.         )
  188.         (help
  189.             (if *lan
  190.                 (cat
  191.                     "Which directory has to be selected ?\n"
  192.                     "    You should also select the directory where "
  193.                     "you usuly put your tools and utilities. A new "
  194.                     "sub-directory named 'LK' will also be created.\n"
  195.                     "All lk© files will be copied into the sub-"
  196.                     "directory only (Note: lk© " *newverstring " needs "
  197.                     "about " *neededsize ".)\n"
  198.                     "    If you already have a directory named 'LK', "
  199.                     "you should select that directory or its parent "
  200.                     "(directory where it appears,) otherwise another "
  201.                     "'LK' directory will be created.\n"
  202.                     "\n"
  203.                     @askdir-help
  204.                 )
  205.                 (cat
  206.                     "Quel répertoire choisir ?\n"
  207.                     "    Vous devriez choisir le répertoire où vous "
  208.                     "installez habituellement vos outils et utilitaires. "
  209.                     "Un nouveau sous-répertoire nommé 'LK' y sera "
  210.                     "créée. Tous les fichiers seront copiés dans ce "
  211.                     "sous-répertoire (Note: lk© " *newverstring " a "
  212.                     "besoin d'environ " *neededsize ").\n"
  213.                     "    Si vous avez déjà un répertoire nommé 'LK', "
  214.                     "vous devriez le sélectionner ou sélectionner "
  215.                     "son père (répertoire où il apparaît), sinon "
  216.                     "un autre répertoire 'LK' sera créé.\n"
  217.                     "\n"
  218.                     @askdir-help
  219.                 )
  220.             )
  221.         )
  222.         (default @default-dest)
  223.     )
  224. )
  225.  
  226. (if (not (= (fileonly *destdir) "LK"))
  227.     (set *destdir (tackon *destdir "LK"))
  228. )
  229.  
  230. (set *diskspace (getdiskspace (cat (getdevice *destdir) ":")))
  231.  
  232. (if (not (= (getdevice *destdir) "RAM"))
  233.     (if (< *diskspace *minsize)
  234.         (message
  235.             (if *lan
  236.                 (cat
  237.                     "\n"
  238.                     "Your disk '" (getdevice *destdir) ":' may have\n"
  239.                     "to few rooms to copy lk© completly.\n"
  240.                     "\n"
  241.                     ("Actual size: %8ld bytes\n" *diskspace)
  242.                     ("Needed size: %8ld bytes\n" (- *minsize *diskspace))
  243.                     "\n"
  244.                     "You should try to make some rooms"
  245.                     (if (= @user-level 2)
  246.                         (".\n")
  247.                         (cat
  248.                             " or execute the installation in expert mode "
  249.                             "and select only the needed files...\n"
  250.                         )
  251.                     )
  252.                     "\n"
  253.                     "The minimum required size in block is about " (/ (+ *minsize 511) 512) "."
  254.                 )
  255.                 (cat
  256.                     "\n"
  257.                     "Votre disk '" (getdevice *destdir) ":' risque de "
  258.                     "ne pas avoir suffisemment d'espace libre pour y "
  259.                     "copier lk© entièrement.\n"
  260.                     "\n"
  261.                     ("  Taille actuelle: %8ld octets\n" *diskspace)
  262.                     ("Taille nécessaire: %8ld octets\n" (- *minsize *diskspace))
  263.                     "\n"
  264.                     "Vous devriez essailler de faire de la place"
  265.                     (if (= @user-level 2)
  266.                         (".\n")
  267.                         (cat
  268.                             ", sinon lancez l'installation en mode expert "
  269.                             "et ne sélectionnez que les fichiers nécessaires...\n"
  270.                         )
  271.                     )
  272.                     "\n"
  273.                     "La taille conseillée en blocs est de " (/ (+ *minsize 511) 512) " minimum."
  274.                 )
  275.             )
  276.             (help
  277.                 (if *lan
  278.                     (cat
  279.                         "    To completly copy lk©, I suggest that you firstable make "
  280.                         "enough room for it. This way you may avoid some "
  281.                         "dead-end errors.\n"
  282.                         "\n"
  283.                         "    lk© needs about " *neededsize " to be completly copied to your "
  284.                         "hard drive. This represent " (/ (+ *minsize 511) 512) " blocks.\n"
  285.                         "\n"
  286.                         "    To know the actual size of your disk, click on its icon "
  287.                         "and select 'Information...' item into the Workbench menu. "
  288.                         "The size appears in a number of blocks after 'Free:'. The same "
  289.                         "way, you can use the command 'Info' from your CLI."
  290.                     )
  291.                     (cat
  292.                         "    Je suggère, pour copier entièrement lk©, que vous "
  293.                         "fassiez tout d'abord suffissament de place pour lui. De "
  294.                         "cette façon vous pourrez éviter des erreurs mortelles.\n"
  295.                         "\n"
  296.                         "    lk© nécessite environ " *neededsize " pour être entièrement "
  297.                         "copié sur votre dique dur. Ceci représente "
  298.                         (/ (+ *minsize 511) 512) " blocs.\n"
  299.                         "\n"
  300.                         "    Pour connaître la taille actuellement libre de votre "
  301.                         "disque, cliquez sur son icône et sélectionnez 'Information...' "
  302.                         "dans votre menu Workbench. La taille apparaît en nombre de blocs "
  303.                         "après 'Disponible:'. De la même façon, de votre CLI vous pouvez "
  304.                         "utiliser la commande 'Info'."
  305.                     )
  306.                 )
  307.             )
  308.         )
  309.     )
  310. )
  311.  
  312.  
  313.  
  314.  
  315. (if (not (exists *destdir))
  316.     (
  317.         (if (= @user-level 2)
  318.             (message
  319.                 (if *lan
  320.                     (cat
  321.                         "Create directory '" *destdir "'\n"
  322.                         "\n"
  323.                         "All lk© installation occurs within that directory.\n"
  324.                         "\n"
  325.                         "Now a path is needed to invoke lk©.\n"
  326.                         "\n"
  327.                         "That path is automatically added to your 'User-Startup' "
  328.                         "file with the installer.\n"
  329.                         "\n"
  330.                         "To use the full power of lk©,\n"
  331.                         "the special assign 'LK:' is created too."
  332.                     )
  333.                     (cat
  334.                         "Crée le répertoire '" *destdir "'\n"
  335.                         "\n"
  336.                         "Toute l'installation de lk© sera réalisée dans ce répertoire.\n"
  337.                         "\n"
  338.                         "Un chemin d'accès est nécessaire pour invoquer lk©.\n"
  339.                         "\n"
  340.                         "Celui-ci sera automatiquement créé dans votre fichier "
  341.                         "'User-Startup' grâce à cet installeur.\n"
  342.                         "\n"
  343.                         "Pour utilise lk© au maximum,\n"
  344.                         "un 'assign' spécial 'LK:' sera aussi ajouté."
  345.                     )
  346.                 )
  347.                 (help
  348.                     (if *lan
  349.                         (cat
  350.                             "Why a specific directory ?\n"
  351.                             "    lk© will be installed into that directory and "
  352.                             "files from lk© disks will all be copied into that "
  353.                             "directory. This way you may un-install lk© by "
  354.                             "deleting that directory (And erase the two lines "
  355.                             "added into your 'User-Startup' file.)\n"
  356.                             "\n"
  357.                             "  Select 'Proceed' if you want the new drawer to be "
  358.                             "created. Select 'Abort lk© Install' if you do not "
  359.                             "want the drawer to be created."
  360.                         )
  361.                         (cat
  362.                             "Pourquoi un répertoire spécifique ?\n"
  363.                             "    lk© sera installé dans ce répertoire et "
  364.                             "tous les fichiers des disquettes de lk© y seront "
  365.                             "copiés. De cette façon, pour désinstaller lk© "
  366.                             "il vous suffit d'effacer ce répertoire (Et "
  367.                             "d'effacer les deux lignes ajoutées dans votre "
  368.                             "fichier 'User-Startup').\n"
  369.                             "\n"
  370.                             "  Sélectionnez 'Proceed' si vous désirez créer le "
  371.                             "nouveau répertoire. Sélectionnez 'Annulé lk© Instal.' "
  372.                             "si vous ne voulez pas avoir un nouveau répertoire."
  373.                         )
  374.                     )
  375.                 )
  376.             )
  377.         )
  378.         (makedir *destdir)
  379.     )
  380. )
  381.  
  382.  
  383. (run
  384.     (cat "assign LK: " *destdir)
  385. )
  386. (run "path LK: add")
  387.  
  388. (set @default-dest *destdir)
  389.  
  390. (if (not (exists (cat *destdir ".info")))
  391.     (
  392.         (set *dest (expandpath *destdir))
  393.         (set *a "?")
  394.         (while (not (or (= *a ":") (= *a "/")))
  395.             (set *dest (substr *dest 0 (- (strlen *dest) 1)))
  396.             (set *a (substr *dest (- (strlen *dest) 1)))
  397.         )
  398.         (if (= *a "/")
  399.             (set *dest (substr *dest 0 (- (strlen *dest) 1)))
  400.         )
  401.         (copyfiles
  402.             (source (tackon *path "ICONS/lkDir.info"))
  403.             (dest *dest)
  404.             (newname "LK.info")
  405.             (nogauge)
  406.         )
  407.     )
  408. )
  409.  
  410. (complete 4)
  411.  
  412.  
  413. (set *copylk
  414.     (if (exists (tackon *destdir "lk"))
  415.         (
  416.             (set *oldver (getversion (tackon *destdir "lk")))
  417.             (set *oldverstring
  418.                 ("V%ld.%02ld"
  419.                     (shiftright *oldver 16)
  420.                     (bitand *oldver $0FFFF)
  421.                 )
  422.             )
  423.             (if (< *newver *oldver)
  424.                 (
  425.                     (message
  426.                         (if *lan
  427.                             (cat
  428.                                 "\n"
  429.                                 "The version of lk© actually installed "
  430.                                 "(" *oldverstring ") is newer than the one "
  431.                                 "to be installed (" *newverstring ").\n"
  432.                                 "\n"
  433.                                 "You may continue the installation in which "
  434.                                 "case the actual version will be overwritten "
  435.                                 "by the old one.\n"
  436.                                 "For this press on the 'Proceed' Button.\n"
  437.                                 "\n"
  438.                                 "Otherwise abort the process.\n"
  439.                                 "For this press on the 'Abort lk© Install'."
  440.                             )
  441.                             (cat
  442.                                 "\n"
  443.                                 "La version de lk© actuellement installée "
  444.                                 "(" *oldverstring ")\n"
  445.                                 "est plus récente que celle que vous désirez "
  446.                                 "installer maintenant (" *newverstring ").\n"
  447.                                 "\n"
  448.                                 "Vous pouvez continuer l'installation, auquel "
  449.                                 "cas la version actuelle sera remplacée par "
  450.                                 "l'ancienne.\n"
  451.                                 "Pour ceci cliquez sur le bouton 'Proceed'.\n"
  452.                                 "\n"
  453.                                 "Sinon annullez le processus.\n"
  454.                                 "Pour ceci cliquez sur le bouton\n"
  455.                                 "'Annulé lk© Instal.'"
  456.                             )
  457.                         )
  458.                         (help
  459.                             (if *lan
  460.                                 (cat
  461.                                     "Why install an older version ?\n"
  462.                                     "    There is usuly no necessity to install an older "
  463.                                     "version, except if you discovered some problems or "
  464.                                     "bugs with a newer version.\n"
  465.                                     "    lk© is programmed to respond the same way through "
  466.                                     "different version, but no way exist to ensure a total "
  467.                                     "compatibility between versions."
  468.                                 )
  469.                                 (cat
  470.                                     "Pourquoi installer une vieille version ?\n"
  471.                                     "    Il n'y a habituellement aucune nécessité à "
  472.                                     "installer une ancienne version, excepté si "
  473.                                     "vous rencontrez des problèmes ou vous trouvez "
  474.                                     "des bugs avec la version la plus résente.\n"
  475.                                     "    lk© est programmé de telle sorte qu'il réponde "
  476.                                     "de la même façon entre différente version, mais "
  477.                                     "aucun moyen ne permet vraiment d'assurer une "
  478.                                     "compatibilité totale entre versions."
  479.                                 )
  480.                             )
  481.                         )
  482.                     )
  483.                     1
  484.                 )
  485.                 (if (= *newver *oldver)
  486.                     (
  487.                         (message
  488.                             (if *lan
  489.                                 (cat
  490.                                     "\n"
  491.                                     "lk© " *oldverstring " is already installed.\n"
  492.                                     "\n"
  493.                                     "To re-install lk© and also make different selections "
  494.                                     "along the installation process, you have to click on "
  495.                                     "'Process' button.\n"
  496.                                     "\n"
  497.                                     "To keep your current installation, you have to click "
  498.                                     "on 'Abort lk© Install' button.\n"
  499.                                     "\n"
  500.                                     "In any case, already installed files will remains "
  501.                                     "installed."
  502.                                 )
  503.                                 (cat
  504.                                     "\n"
  505.                                     "lk© " *oldverstring " est déjà installée.\n"
  506.                                     "\n"
  507.                                     "Vous pouvez choisir d'installer à nouveau lk© "
  508.                                     "pour faire des sélections différentes durant "
  509.                                     "le processus d'installation alors cliquez sur "
  510.                                     "le bouton 'Process'.\n"
  511.                                     "\n"
  512.                                     "Vous pouvez choisir garder l'installation "
  513.                                     "actuelle, alors cliquez sur le bouton "
  514.                                     "'Annulé lk© Install.'.\n"
  515.                                     "\n"
  516.                                     "Dans tous les cas, aucun des fichiers déjà "
  517.                                     "installés ne seront effacés."
  518.                                 )
  519.                             )
  520.                         )
  521.                         1
  522.                     )
  523.                 )
  524.             )
  525.         )
  526.         1
  527.     )
  528. )
  529.  
  530. (if (not *copylk)
  531.     (exit *exit)
  532. )
  533.  
  534. (set *copyfiles
  535.     (askoptions
  536.         (prompt
  537.             (if *lan
  538.                 "Select Files to Copy"
  539.                 "Sélectionnez les Fichiers à Copier"
  540.             )
  541.         )
  542.         (help
  543.             (if *lan
  544.                 (cat
  545.                     "What selection should I do ?"
  546.                     (if (= @user-level 2)
  547.                         (cat
  548.                             "    Because you are running this installation as an "
  549.                             "expert user, a confirmation will be required "
  550.                             "for every copy. Also you may let all files selected "
  551.                             "and make you choices later.\n"
  552.                             "    Now there is one exception: when"
  553.                         )
  554.                         (cat
  555.                             "    Only the file lk© " *newverstring " is important "
  556.                             "to realize a link of object files, but if you are not "
  557.                             "familiar with linkers at all you must copy a 'guide' "
  558.                             "or the 'help' files to have lk© documentation(s).\n"
  559.                             "    Note that even high level expert users will find "
  560.                             "a lot of useful informations within the documentation.\n"
  561.                             "    When"
  562.                         )
  563.                     )
  564.                     " 'icons' button is checked an icon will be created for "
  565.                     "every copied file. This enable lk© to be fully Workbench "
  566.                     "compatible.\n"
  567.                     "\n"
  568.                     "Choices description:\n"
  569.                     "\n"
  570.                     "  . lk© " *newverstring "\n"
  571.                     "\n"
  572.                     "Copies the linker, which is necessary if you want to be able "
  573.                     "to link, of course. The linker is CLI and Workbench compatible. "
  574.                     "When you have the system version 2.x or more (Libraries V36.xx) "
  575.                     "the small lk© file will be copied.\n"
  576.                     "\n"
  577.                     "\n"
  578.                     "  . lkopts " *newverstring "\n"
  579.                     "\n"
  580.                     "Copies the option tool which is an interfaced tool very easy use "
  581.                     "to produce script files for lk©.\n"
  582.                     "\n"
  583.                     "  . object library\n"
  584.                     "\n"
  585.                     "Copies the 'overlay' and 'autorun' object files into the libraries directory\n"
  586.                     "\n"
  587.                     "  . source files\n"
  588.                     "\n"
  589.                     "Copies the 'overlay' and 'autorun' sources files into the sources directory\n"
  590.                     "\n"
  591.                     "  . icons\n"
  592.                     "\n"
  593.                     "Copies all needed icons to have lk© running under your Workbench\n"
  594.                     "With that option turned off, absolutly no icon will be copied.\n"
  595.                     "\n"
  596.                     "  . help\n"
  597.                     "\n"
  598.                     "Copies documentation in help file format, this is displayed by "
  599.                     "AHelp© utility.\n"
  600.                     "\n"
  601.                     "  . guide\n"
  602.                     "\n"
  603.                     "Copies documentation in guide file format compatible with "
  604.                     "'AmigaGuide' tool.\n"
  605.                     "\n"
  606.                     "  . examples\n"
  607.                     "\n"
  608.                     "Copies some script examples for lk©.\n"
  609.                     "\n"
  610.                     "  . preferences\n"
  611.                     "\n"
  612.                     "Copies all preferences, you may select only one preferences file "
  613.                     "such as 'DICE,' 'Slink,' 'Blink' or 'C-like' later.\n"
  614.                 )
  615.                 (cat
  616.                     "Quelle sélection dois-je faire ?\n"
  617.                     (if (= @user-level 2)
  618.                         (cat
  619.                             "    Du fait que vous avez choisi une installation en "
  620.                             "mode expert, une confirmation sera nécessaire de "
  621.                             "votre part pour chacune des copies. Vous pouvez "
  622.                             "donc laisser tous les fichiers selectionnés "
  623.                             "et réaliser votre choix plus tard.\n"
  624.                             "    Il existe néanmoins une exception: quand"
  625.                         )
  626.                         (cat
  627.                           "    Seul le fichier lk© est important pour réaliser un "
  628.                           "lien de fichiers objets, mais si vous n'êtes pas "
  629.                           "du tout familiarisé avec les lieurs, il vous "
  630.                           "faut absolument copier le 'guide' ou les fichiers "
  631.                           "d'aides pour avoir une documentation.\n"
  632.                           "    Notez que même les experts de haut niveau y trouveront "
  633.                             "une source d'informationtion incontestable.\n"
  634.                             "    Quand"
  635.                         )
  636.                     )
  637.                     " le boutton 'icône' est sélectionné une icône est créée "
  638.                     "pour chacun des fichiers copiés. Ceci permet à lk© d'être "
  639.                     "utilisé à partir du Workbench.\n"
  640.                     "\n"
  641.                     "Choix:\n"
  642.                     "\n"
  643.                     "  . lk© " *newverstring "\n"
  644.                     "\n"
  645.                     "Copie le lieur, ce qui est nécessaire si vous désirez pouvoir lier "
  646.                     "des fichiers, évidemment. Le lieur est compatible au CLI et au "
  647.                     "Workbench. Si vous avez un système V2.x ou plus (Libraries V36.xx) "
  648.                     "le petit lk© sera copié.\n"
  649.                     "\n"
  650.                     "  . lkopts " *newverstring "\n"
  651.                     "\n"
  652.                     "Copie l'outil de sélection des options qui permet, par le biais "
  653.                     "d'une interface, de créer des fichiers scriptes pour lk©.\n"
  654.                     "\n"
  655.                     "  . librairie d'objet\n"
  656.                     "\n"
  657.                     "Copie les fichiers objet 'overlay' et 'autorun' dans le "
  658.                     "répertoire des librairies.\n"
  659.                     "\n"
  660.                     "  . fichiers sources\n"
  661.                     "\n"
  662.                     "Copie les fichiers sources 'overlay' et 'autorun' dans le "
  663.                     "répertoire source.\n"
  664.                     "\n"
  665.                     "  . icônes\n"
  666.                     "\n"
  667.                     "Copie de toutes les icônes nécessaires pour pouvoir utiliser lk© "
  668.                     "à partir de votre Workbench.\n"
  669.                     "Avec cette option enlevée, absolument aucune icône ne sera copiée.\n"
  670.                     "\n"
  671.                     "  . aide\n"
  672.                     "\n"
  673.                     "Copie la documentation sous forme de fichier 'help', ceci sera "
  674.                     "affiché avec l'utilitaire AHelp©.\n"
  675.                     "\n"
  676.                     "  . guide\n"
  677.                     "\n"
  678.                     "Copie la documentation sous forme de guide compatible avec "
  679.                     "l'outil 'AmigaGuide'.\n"
  680.                     "\n"
  681.                     "  . exemples\n"
  682.                     "\n"
  683.                     "Copie quelques scriptes d'exemple pour lk©.\n"
  684.                     "\n"
  685.                     "  . préférences\n"
  686.                     "\n"
  687.                     "Copie toutes les préférences, vous pourrez faire votre choix parmis "
  688.                     "les fichiers de préférences: 'DICE', 'Slink', 'Blink' ou 'C-like'.\n"
  689.                 )
  690.             )
  691.         )
  692.         (choices
  693.             (cat "lk " *newverstring)                ;$0001
  694.             (cat "lkopts " *newverstring)        ;$0002
  695.             (if *lan                                                ;$0004
  696.                 "preferences"
  697.                 "préférences"
  698.             )
  699.             (if *lan                                                ;$0008
  700.                 "object library"
  701.                 "librairie d'objet"
  702.             )
  703.             (if *lan                                                ;$0010
  704.                 "source files"
  705.                 "fichiers sources"
  706.             )
  707.             (if *lan                                                ;$0020
  708.                 "icons (For WB Usage)"
  709.                 "icônes (Pour WB)"
  710.             )
  711.             (if *lan                                                ;$0040
  712.                 "QuickDOS library"
  713.                 "Librairie QuickDOS"
  714.             )
  715.             (if *lan                                                ;$0080
  716.                 "tools"
  717.                 "outils"
  718.             )
  719.             (if *lan                                                ;$0100
  720.                 "help"
  721.                 "aide"
  722.             )
  723.             "guide"                                                    ;$0200
  724.             (if *lan                                                ;$0400
  725.                 "examples"
  726.                 "exemples"
  727.             )
  728.         )
  729.     )
  730. )
  731.  
  732.  
  733.  
  734.  
  735. (if (bitand *copyfiles $0001)
  736.     (
  737.         (set *lksmall (exists (tackon *path "lk_small")))
  738.         (if
  739.             (if (= @user-level 2)
  740.                 (
  741.                     (askbool
  742.                         (prompt
  743.                             (if *lan
  744.                                 (cat
  745.                                     "\n"
  746.                                     "Do you want to copy 'lk' (" *newverstring ") Tool ?\n"
  747.                                     "\n"
  748.                                     "Destination directory: '" *destdir "'\n"
  749.                                     "\n"
  750.                                     "(File size: "
  751.                                     (getsize
  752.                                         (tackon *path
  753.                                             (if (> *version $0024000)
  754.                                                 (if *lksmall
  755.                                                     "lk_small"
  756.                                                     "lk"
  757.                                                 )
  758.                                                 "lk"
  759.                                             )
  760.                                         )
  761.                                     )
  762.                                     ")"
  763.                                 )
  764.                                 (cat
  765.                                     "\n"
  766.                                     "Voulez-vous copier l'outil 'lk' ?\n"
  767.                                     "\n"
  768.                                     "Répertoire de destination: '" *destdir "'\n"
  769.                                     "\n"
  770.                                     "(Taille du fichier: "
  771.                                     (getsize
  772.                                         (tackon *path
  773.                                             (if (> *version $0024000)
  774.                                                 (if *lksmall
  775.                                                     "lk_small"
  776.                                                     "lk"
  777.                                                 )
  778.                                                 "lk"
  779.                                             )
  780.                                         )
  781.                                     )
  782.                                     ")"
  783.                                 )
  784.                             )
  785.                         )
  786.                         (help
  787.                             (if *lan
  788.                                 (cat
  789.                                     "What should I choose ?\n"
  790.                                     "    If you select 'Yes,' then lk© " *newverstring
  791.                                     " will be installed.\n"
  792.                                     "    If you are re-installing lk© and that version "
  793.                                     "already exist on your disk, you may select "
  794.                                     "'No' button to skip this copy."
  795.                                 )
  796.                                 (cat
  797.                                     "Que dois-je choisir ?\n"
  798.                                     "    Si vous sélectionnez 'Oui', alors lk© " *newverstring
  799.                                     " sera installé.\n"
  800.                                     "    Si vous êtes en train de ré-installer lk© et "
  801.                                     "que cette version existe déjà sur votre disque "
  802.                                     "vous pouvez sélectionner le bouton 'Non' pour "
  803.                                     "éviter la copie."
  804.                                 )
  805.                             )
  806.                         )
  807.                         (choices
  808.                             (if *lan "Yes" "Oui")
  809.                             (if *lan "No" "Non")
  810.                         )
  811.                     )
  812.                 )
  813.                 1
  814.             )
  815.             (
  816.                 (copyfiles
  817.                     (source
  818.                         (tackon *path
  819.                             (if (> *version $0024000)
  820.                                 (if *lksmall
  821.                                     "lk_small"
  822.                                     "lk"
  823.                                 )
  824.                                 "lk"
  825.                             )
  826.                         )
  827.                     )
  828.                     (dest *destdir)
  829.                     (newname "lk")
  830.                 )
  831.                 (if (not (exists (tackon *destdir "lk.info")))
  832.                     (copyfiles
  833.                         (source *path)
  834.                         (dest *destdir)
  835.                         (choices "lk.info")
  836.                         (nogauge)
  837.                     )
  838.                 )
  839.             )
  840.         )
  841.     )
  842. )
  843.  
  844.  
  845. (complete 8)
  846.  
  847.  
  848.  
  849. (set *prefsdir (tackon *destdir "PREFS"))
  850.  
  851. (if (not (exists *prefsdir))
  852.     (if (bitand *copyfiles $0006)
  853.         (makedir
  854.             *prefsdir
  855.             (prompt
  856.                 (if *lan
  857.                     (cat
  858.                         "Create the directory 'LK:PREFS/'.\n"
  859.                         "\n"
  860.                         "lkopts " *newverstring " tool will be copied into that "
  861.                         "directory as well as lk© preferences scripts."
  862.                     )
  863.                     (cat
  864.                         "Crée le répertoire 'LK:PREFS/'.\n"
  865.                         "\n"
  866.                         "L'outil lkopts " *newverstring " y sera copié ainsi que les "
  867.                         "scriptes des préférences de lk©."
  868.                     )
  869.                 )
  870.             )
  871.             (help
  872.                 (if *lan
  873.                     (cat
  874.                         "IMPORTANT:\n"
  875.                         "    The name of that directory will never be changed "
  876.                         "or you will loose the compatibility with lk©.\n"
  877.                         "\n"
  878.                         "Why create this directory ?\n"
  879.                         "    lk© automatically scan the current directory for "
  880.                         "a file named 'lk.prefs'. When it does not exist, then "
  881.                         "this directory (LK:PREFS) is scanned. This is a very "
  882.                         "easy way to always start lk© into a specific mode, "
  883.                         "compatible to another linker for instance.\n"
  884.                         "    By creating this directory, you also enable the "
  885.                         "copy of 'lkopts' tool. That tool is a very easy way to "
  886.                         "create the script files. It uses a Workbench interface "
  887.                         "with a link to help files (But not to the guides.)"
  888.                     )
  889.                     (cat
  890.                         "IMPORTANT:\n"
  891.                         "    Le nom de ce répertoire ne devra pas être modifié "
  892.                         "si vous désirez conserver la compatibilité avec lk©.\n"
  893.                         "\n"
  894.                         "Pourquoi créer ce répertoire ?\n"
  895.                         "    lk© cherche automatiquement dans le répertoire "
  896.                         "actuel pour un fichier nommé 'lk.prefs'. Quand il "
  897.                         "n'existe pas, ce répertoire (LK:PREFS) est "
  898.                         "recherché. Enfin le répertoire 'S:' est lui aussi "
  899.                         "recherché. Il s'agit là d'un moyen particulièrement "
  900.                         "facile à utiliser pour mettre lk© dans un mode "
  901.                         "spécifique, compatible à un autre lieur par example.\n"
  902.                         "    En créant ce répertoire, vous permettez également "
  903.                         "la copie de l'outil 'lkopts'. Cet outil est un moyen "
  904.                         "très facile à utiliser pour éditer vos fichiers de "
  905.                         "scriptes. Il utilise une interface sur votre "
  906.                         "Workbench avec un lien aux fichiers d'aides (Mais "
  907.                         "pas aux guides)."
  908.                     )
  909.                 )
  910.             )
  911.             (confirm)
  912.         )
  913.     )
  914. )
  915.  
  916.  
  917. (if (not (exists *prefsdir))
  918.     (set *copyfiles (bitand *copyfiles $FFF9))
  919.     (if (and
  920.                 (not (exists (cat *prefsdir ".info")))
  921.                 (bitand *copyfiles $0020)
  922.             )
  923.         (copyfiles
  924.             (source (tackon *path "ICONS/lkoptsDir.info"))
  925.             (dest *destdir)
  926.             (newname "PREFS.info")
  927.             (nogauge)
  928.         )
  929.     )
  930. )
  931.  
  932. (complete 12)
  933.  
  934. (if (bitand *copyfiles $0002)
  935.     (if
  936.         (if (= @user-level 2)
  937.             (askbool
  938.                 (prompt
  939.                     (if *lan
  940.                         (cat
  941.                             "\n"
  942.                             "Do you want to copy 'lkopts' (" *newverstring ") ?\n"
  943.                             "\n"
  944.                             "Destination directory: '" *prefsdir "'\n"
  945.                             "\n"
  946.                             "(File size: " (getsize (tackon *path "PREFS/lkopts")) ")"
  947.                         )
  948.                         (cat
  949.                             "\n"
  950.                             "Voulez-vous copier 'lkopts' (" *newverstring ") ?\n"
  951.                             "\n"
  952.                             "Répertoire de destination: '" *prefsdir "'\n"
  953.                             "\n"
  954.                             "(Taille du fichier: " (getsize (tackon *path "PREFS/lkopts")) ")"
  955.                         )
  956.                     )
  957.                 )
  958.                 (help
  959.                     (if *lan
  960.                         (cat
  961.                             "What should I choose ?\n"
  962.                             "    If you select 'Yes,' then 'lkopts' " *newverstring
  963.                             " will be installed.\n"
  964.                             "    If you are re-installing the same version of lk© "
  965.                             "and 'lkopts' already exists on your disk, you may "
  966.                             "select 'No' button to skip this copy."
  967.                         )
  968.                         (cat
  969.                             "Que dois-je choisir ?\n"
  970.                             "    Si vous sélectionnez 'Oui', alors 'lkopts' " *newverstring
  971.                             " sera installé.\n"
  972.                             "    Si vous êtes en train de ré-installer lk© et "
  973.                             "que 'lkopts' existe déjà sur votre disque "
  974.                             "vous pouvez sélectionner le bouton 'Non' pour "
  975.                             "éviter la copie."
  976.                         )
  977.                     )
  978.                 )
  979.                 (choices
  980.                     (if *lan "Yes" "Oui")
  981.                     (if *lan "No" "Non")
  982.                 )
  983.             )
  984.             1
  985.         )
  986.         (
  987.             (copyfiles
  988.                 (source (tackon *path "PREFS"))
  989.                 (dest *prefsdir)
  990.                 (choices "lkopts")
  991.             )
  992.             (if (not (exists (tackon *prefsdir "lkopts.info")))
  993.                 (copyfiles
  994.                     (source (tackon *path "ICONS/lkopts.info"))
  995.                     (dest *prefsdir)
  996.                     (nogauge)
  997.                 )
  998.             )
  999.         )
  1000.     )
  1001. )
  1002.  
  1003. (complete 20)
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009. (if (bitand *copyfiles $0004)
  1010.     (
  1011.         (set *prefshelp
  1012.             (if *lan
  1013.                 (cat
  1014.                     "Preferences Help:\n"
  1015.                     "    Preference files are especially pratical to set lk© "
  1016.                     "with a default setting, without having to specify "
  1017.                     "each step over and over. Note that the file named "
  1018.                     "'lk.prefs' will always be automatically loaded and "
  1019.                     "interpreted at first.\n"
  1020.                     "\n"
  1021.                   " . DICE\n"
  1022.                   "\n"
  1023.                   "This file transforms lk© to be compatible to DICE and "
  1024.                   "also to link DICE object files and libraries."
  1025.                   "\n"
  1026.                     " . Slink\n"
  1027.                     "\n"
  1028.                     "This file transforms lk© to be compatible to Slink and "
  1029.                     "also to link SAS/C object files and libraries."
  1030.                     "\n"
  1031.                     " . Blink\n"
  1032.                     "\n"
  1033.                     "This file transforms lk© to be compatible to Blink and "
  1034.                     "also to link old version of SAS/C object files and "
  1035.                     "libraries and almost all other object files."
  1036.                     "\n"
  1037.                     " . C-like\n"
  1038.                     "\n"
  1039.                     "This file transforms lk© to be compatible with any kind "
  1040.                     "of C like libraries. Those libraries may include "
  1041.                     "the same symbol defined several times."
  1042.                 )
  1043.                 (cat
  1044.                     "Aides des Préférences:\n"
  1045.                     "    Les fichiers de préférences sont particulierement "
  1046.                     "pratiques pour mettre lk© dans un état particulier "
  1047.                     "sans pour autant le faire sans arrêt. Notez que "
  1048.                     "le fichier de préférence nommé 'lk.prefs' est "
  1049.                     "toujours automatiquement chargé est interprêté "
  1050.                     "par lk©.\n"
  1051.                     "\n"
  1052.                     " . DICE\n"
  1053.                     "\n"
  1054.                     "Ce fichier permet à lk© d'être compatible avec DICE et "
  1055.                     "donc de lier des fichiers objets et des librairies de DICE.\n"
  1056.                     "\n"
  1057.                     " . Slink\n"
  1058.                     "\n"
  1059.                     "Ce fichier permet à lk© d'être compatible avec Slink et "
  1060.                     "donc de lier des fichiers objets et des librairies de SAS/C.\n"
  1061.                     "\n"
  1062.                     " . Blink\n"
  1063.                     "\n"
  1064.                     "Ce fichier permet à lk© d'être compatible avec Blink et "
  1065.                     "donc de lier de vieux fichiers objets et de vieilles "
  1066.                     "librairies de SAS/C.\n"
  1067.                     "\n"
  1068.                     " . C-like\n"
  1069.                     "\n"
  1070.                     "Ce fichier permet à lk© d'être compatible avec n'importe "
  1071.                     "quel type de librairie C. Ces librairies peuvent inclure "
  1072.                     "plusieurs fois le même symbole."
  1073.                 )
  1074.             )
  1075.         )
  1076.         (set *prefsselect
  1077.             (askoptions
  1078.                 (prompt
  1079.                     (if *lan
  1080.                         (cat
  1081.                             "Select the preferences files you need.\n"
  1082.                             "\n"
  1083.                             "Destination directory: '" *prefsdir "'\n"
  1084.                         )
  1085.                         (cat
  1086.                             "Sélectionnez vos fichiers de préférences.\n"
  1087.                             "\n"
  1088.                             "Répertoire de destination: '" *prefsdir "'\n"
  1089.                         )
  1090.                     )
  1091.                 )
  1092.                 (help *prefshelp)
  1093.                 (choices
  1094.                     "Dice"
  1095.                     "Blink"
  1096.                     "Slink"
  1097.                     "C-Like"
  1098.                 )
  1099.             )
  1100.         )
  1101.         (if *prefsselect
  1102.             (
  1103.                 (if (bitand *prefsselect $0001)
  1104.                     (copyfiles
  1105.                         (source (tackon *path "PREFS"))
  1106.                         (dest *prefsdir)
  1107.                         (choices "dice.prefs")
  1108.                         (files)
  1109.                         (nogauge)
  1110.                     )
  1111.                 )
  1112.                 (if (bitand *prefsselect $0002)
  1113.                     (copyfiles
  1114.                         (source (tackon *path "PREFS"))
  1115.                         (dest *prefsdir)
  1116.                         (choices "blink.prefs")
  1117.                         (files)
  1118.                         (nogauge)
  1119.                     )
  1120.                 )
  1121.                 (if (bitand *prefsselect $0004)
  1122.                     (copyfiles
  1123.                         (source (tackon *path "PREFS"))
  1124.                         (dest *prefsdir)
  1125.                         (choices "slink.prefs")
  1126.                         (files)
  1127.                         (nogauge)
  1128.                     )
  1129.                 )
  1130.                 (if (bitand *prefsselect $0008)
  1131.                     (copyfiles
  1132.                         (source (tackon *path "PREFS"))
  1133.                         (dest *prefsdir)
  1134.                         (choices "c-like.prefs")
  1135.                         (files)
  1136.                         (nogauge)
  1137.                     )
  1138.                 )
  1139.                 (set *prefsfile 0)
  1140.                 (foreach (tackon *path "PREFS") "#?.prefs"
  1141.                     (
  1142.                         (select *prefsfile
  1143.                             (set *prefsname1 @each-name)
  1144.                             (set *prefsname2 @each-name)
  1145.                             (set *prefsname3 @each-name)
  1146.                             (set *prefsname4 @each-name)
  1147.                         )
  1148.                         (set *prefsfile (+ *prefsfile 1))
  1149.                         (if (and
  1150.                                     (not (exists (tackon *prefsdir (cat @each-name ".info"))))
  1151.                                     (bitand *copyfiles $0020)
  1152.                                 )
  1153.                             (copyfiles
  1154.                                 (source (tackon *path "ICONS/def_with.info"))
  1155.                                 (dest *prefsdir)
  1156.                                 (newname (cat @each-name ".info"))
  1157.                                 (nogauge)
  1158.                             )
  1159.                         )
  1160.                     )
  1161.                 )
  1162.                 (set *noprefs
  1163.                     (if *lan
  1164.                         ("No Default Prefs")
  1165.                         ("Pas de préférences par défault")
  1166.                     )
  1167.                 )
  1168.                 (set *prefsprompt
  1169.                     (if *lan
  1170.                         ("Select the specific preference file.")
  1171.                         ("Sélectionnez le fichier préférences spécific.")
  1172.                     )
  1173.                 )
  1174.                 (set *prefschoice
  1175.                     (select (- *prefsfile 1)
  1176.                         (askchoice
  1177.                             (prompt *prefsprompt)
  1178.                             (choices
  1179.                                 *noprefs
  1180.                                 *prefsname1
  1181.                             )
  1182.                             (help *prefshelp)
  1183.                         )
  1184.                         (askchoice
  1185.                             (prompt *prefsprompt)
  1186.                             (choices
  1187.                                 *noprefs
  1188.                                 *prefsname1
  1189.                                 *prefsname2
  1190.                             )
  1191.                             (help *prefshelp)
  1192.                         )
  1193.                         (askchoice
  1194.                             (prompt *prefsprompt)
  1195.                             (choices
  1196.                                 *noprefs
  1197.                                 *prefsname1
  1198.                                 *prefsname2
  1199.                                 *prefsname3
  1200.                             )
  1201.                             (help *prefshelp)
  1202.                         )
  1203.                         (askchoice
  1204.                             (prompt *prefsprompt)
  1205.                             (choices
  1206.                                 *noprefs
  1207.                                 *prefsname1
  1208.                                 *prefsname2
  1209.                                 *prefsname3
  1210.                                 *prefsname4
  1211.                             )
  1212.                             (help *prefshelp)
  1213.                         )
  1214.                     )
  1215.                 )
  1216.                 (if *prefschoice
  1217.                     (
  1218.                         (set *prefsicon
  1219.                             (askchoice
  1220.                                 (prompt
  1221.                                     (if *lan
  1222.                                         (cat
  1223.                                             "Where do you want the preference file to be set ?\n"
  1224.                                             "\n"
  1225.                                             "When you select 'In lk© icon' it means you will\n"
  1226.                                             "use lk© from your Workbench.\n"
  1227.                                             "\n"
  1228.                                             "(This also enable, with the usage of multiple\n"
  1229.                                             "lk icons, to have several preferences.)"
  1230.                                         )
  1231.                                         (cat
  1232.                                             "Où voulez-vous avoir le fichier de préférences ?\n"
  1233.                                             "\n"
  1234.                                             "Quand vous sélectionnez 'Dans l'icône de lk', cela\n"
  1235.                                             "suppose que vous utiliserez lk© de votre Workbench.\n"
  1236.                                             "\n"
  1237.                                             "(Ceci peut vous permettre, avec plusieurs\n"
  1238.                                             "icône de lk, d'avoir plusieurs préférences)."
  1239.                                         )
  1240.                                     )
  1241.                                 )
  1242.                                 (help
  1243.                                     (if *lan
  1244.                                         (cat
  1245.                                             "The automatic preference file:\n"
  1246.                                             "    The fact that you create a file named 'lk.prefs' "
  1247.                                             "will enable lk© to load that file as the default "
  1248.                                             "file to execute at start. That file can be into "
  1249.                                             "your current directory, in 'LK:PREFS' directory "
  1250.                                             "could be called 'blinkwith' or be in 'S:' "
  1251.                                             "directory.\n"
  1252.                                             "    When lk© is used from the Workbench, the file name "
  1253.                                             "given into the icon will be used. If that file does "
  1254.                                             "not exist (or if the tooltype 'PREFS' is not defined,) "
  1255.                                             "the usual 'lk.prefs' file is searched. The file name "
  1256.                                             "given into the icon is always searched first."
  1257.                                         )
  1258.                                         (cat
  1259.                                             "Le fichier automatique des preferences:\n"
  1260.                                             "    Le fait de créer un fichier nommé 'lk.prefs' "
  1261.                                             "permet à lk© de charger le dit fichier comme fichier "
  1262.                                             "de défaut à exécuté au début. Ce fichier peut être "
  1263.                                             "dans votre répertoire courant, dans le répertoire "
  1264.                                             "'LK:PREFS', ou il pourrait se nommé 'blinkwith' et "
  1265.                                             "finalement le répertoire 'S:' est testé.\n"
  1266.                                             "    Quand lk© est utilisé du Workbench, le nom du "
  1267.                                             "fichier donné dans l'icône sera utilisé. Si ce fichier "
  1268.                                             "n'existe pas (ou le type d'outil 'PREFS' n'est pas "
  1269.                                             "définis), le fichier habituel 'lk.prefs' sera "
  1270.                                             "recherché. Le nom du fichier donné dans l'icône "
  1271.                                             "est toujours recherché en premier."
  1272.                                         )
  1273.                                     )
  1274.                                 )
  1275.                                 (if (exists (tackon *destdir "lk.info"))
  1276.                                     (choices
  1277.                                         (if *lan
  1278.                                             "Skip this copy!"
  1279.                                             "Éviter cette copie!"
  1280.                                         )
  1281.                                         (if *lan
  1282.                                             "In the file 'PREFS/lk.prefs'"
  1283.                                             "Dans le fichier 'PREFS/lk.prefs'"
  1284.                                         )
  1285.                                         (if *lan
  1286.                                             "In lk© icon (Tool Type 'PREFS')"
  1287.                                             "Dans l'icône de lk© (Tool Type 'PREFS')"
  1288.                                         )
  1289.                                     )
  1290.                                     (choices
  1291.                                         (if *lan
  1292.                                             "Skip this copy!"
  1293.                                             "Éviter cette copie!"
  1294.                                         )
  1295.                                         (if *lan
  1296.                                             "In the file 'PREFS/lk.prefs'"
  1297.                                             "Dans le fichier 'PREFS/lk.prefs'"
  1298.                                         )
  1299.                                     )
  1300.                                 )
  1301.                                 (default 1)
  1302.                             )
  1303.                         )
  1304.                         (select (- *prefschoice 1)
  1305.                             (set *prefsfile *prefsname1)
  1306.                             (set *prefsfile *prefsname2)
  1307.                             (set *prefsfile *prefsname3)
  1308.                             (set *prefsfile *prefsname4)
  1309.                         )
  1310.                         (if *prefsicon
  1311.                             (select (- *prefsicon 1)
  1312.                                 (
  1313.                                     (run
  1314.                                         (cat
  1315.                                             'copy "'
  1316.                                             (tackon *prefsdir *prefsfile)
  1317.                                             '" "'
  1318.                                             (tackon *prefsdir "lk.prefs")
  1319.                                             '"'
  1320.                                         )
  1321.                                     )
  1322.                                     (if (exists (tackon *prefsdir *prefsfile))
  1323.                                         (run
  1324.                                             (cat
  1325.                                                 'copy "'
  1326.                                                 (tackon *prefsdir *prefsfile)
  1327.                                                 '.info" "'
  1328.                                                 (tackon *prefsdir "lk.prefs")
  1329.                                                 '.info"'
  1330.                                             )
  1331.                                         )
  1332.                                     )
  1333.                                 )
  1334.                                 (tooltype
  1335.                                     (dest (tackon *destdir "lk"))
  1336.                                     (settooltype "PREFS" *prefsfile)
  1337.                                 )
  1338.                             )
  1339.                         )
  1340.                     )
  1341.                 )
  1342.             )
  1343.         )
  1344.     )
  1345. )
  1346.  
  1347.  
  1348.  
  1349. (complete 28)
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359. (set *libdir (tackon *destdir "LIB"))
  1360.  
  1361. (if (and (not (exists *libdir)) (bitand *copyfiles $0008))
  1362.     (makedir
  1363.         *libdir
  1364.         (prompt
  1365.             (if *lan
  1366.                 (cat
  1367.                     "Create the directory 'LK:LIB'.\n"
  1368.                     "\n"
  1369.                     "This directory contains the default object "
  1370.                     "files which are automatically linked by lk "
  1371.                     "when specific keywords are used."
  1372.                 )
  1373.                 (cat
  1374.                     "Crée le répertoire 'LK:LIB'.\n"
  1375.                     "\n"
  1376.                     "Ce répertoire contient les fichiers objets "
  1377.                     "par défaut qui sont automatiquement "
  1378.                     "utilisés par lk quand certaines commandes "
  1379.                     "spécifiques sont utilisées."
  1380.                 )
  1381.             )
  1382.         )
  1383.         (help
  1384.             (if *lan
  1385.                 (cat
  1386.                     "IMPORTANT:\n"
  1387.                     "    The name of that directory will never be changed "
  1388.                     "or you will loose the compatibility with lk©.\n"
  1389.                     "\n"
  1390.                     "Why create this directory ?\n"
  1391.                     "    This directory is used by lk© to look for "
  1392.                     "some default object files and libraries.\n"
  1393.                     "    You can also delete the default object "
  1394.                     "files and replace them by your own files "
  1395.                     "(Note that the assembler source files "
  1396.                     "are given and you have the right to "
  1397.                     "modify as you wish.)\n"
  1398.                     "    Without that directory, you will be able to "
  1399.                     "use the default object files which are internal "
  1400.                     "to lk, or specify you own object files on the "
  1401.                     "command line or in your script files."
  1402.                 )
  1403.                 (cat
  1404.                     "IMPORTANT:\n"
  1405.                     "    Le nom de ce répertoire ne devra pas être modifié "
  1406.                     "si vous désirez conserver la compatibilité avec lk©.\n"
  1407.                     "\n"
  1408.                     "Pourquoi créer ce répertoire ?\n"
  1409.                     "    Ce répertoire est utilisé par lk© pour "
  1410.                     "rechercher des fichiers objects par défault et "
  1411.                     "les librairies.\n"
  1412.                     "    Vous pouvez bien évidemment effacer les "
  1413.                     "fichiers objets donnés par défaut pour les "
  1414.                     "remplacer par vos propres fichiers. "
  1415.                     "(Notez que les fichiers sources en "
  1416.                     "assembleur sont fournis et pourront "
  1417.                     "être modifiés par vos soins).\n"
  1418.                     "    Sans ce répertoire, vous pourrez utiliser "
  1419.                     "les fichier objets internes à lk, ou spécifier "
  1420.                     "vos fichiers personnels sur la ligne de commande."
  1421.                 )
  1422.             )
  1423.         )
  1424.         (confirm)
  1425.     )
  1426. )
  1427.  
  1428. (if (and
  1429.             (exists *libdir)
  1430.             (not (exists (cat *libdir ".info")))
  1431.             (bitand *copyfiles $0020)
  1432.         )
  1433.     (
  1434.         (copyfiles
  1435.             (source (tackon *path "ICONS/LibraryDir.info"))
  1436.             (dest *destdir)
  1437.             (newname (cat (fileonly *libdir) ".info"))
  1438.             (nogauge)
  1439.         )
  1440.     )
  1441. )
  1442.  
  1443. (complete 32)
  1444.  
  1445. (if (and (exists *libdir) (bitand *copyfiles $0008))
  1446.     (
  1447.       (set *ovlexist (exists (tackon *path "LIB/overlay.o")))
  1448.         (set *libselect
  1449.             (if (= @user-level 2)
  1450.                 (askoptions
  1451.                     (prompt
  1452.                         (if *lan
  1453.                             (cat
  1454.                                 "Select object files.\n"
  1455.                                 "Destination directory: '" *libdir "'\n"
  1456.                             )
  1457.                             (cat
  1458.                                 "Sélectionnez les fichiers objets.\n"
  1459.                                 "Répertoire de destination: '" *libdir "'\n"
  1460.                             )
  1461.                         )
  1462.                     )
  1463.                     (help
  1464.                         (if *lan
  1465.                             (cat
  1466.                                 "IMPORTANT:\n"
  1467.                                 "    The name of that directory will never be changed "
  1468.                                 "or you will loose the compatibility with lk©.\n"
  1469.                                 "\n"
  1470.                                 "Why create this directory ?\n"
  1471.                                 "    This directory is used by lk© to look for "
  1472.                                 "some default object files. Those actually are "
  1473.                                 "'auto-run.o' and 'overlay.o'.\n"
  1474.                                 "    You can also delete the default object "
  1475.                                 "files and replace them by your own files "
  1476.                                 "(Note that the assembler source files "
  1477.                                 "are given and you have the right to "
  1478.                                 "modify as you wish.)\n"
  1479.                                 "    Without that directory, you will be able to "
  1480.                                 "use the default object files which are internal "
  1481.                                 "to lk©, or specify you own object files on the "
  1482.                                 "command line or in your script files."
  1483.                             )
  1484.                             (cat
  1485.                                 "IMPORTANT:\n"
  1486.                                 "    Le nom de ce répertoire ne devra pas être modifié "
  1487.                                 "si vous désirez conserver la compatibilité avec lk©.\n"
  1488.                                 "\n"
  1489.                                 "Pourquoi créer ce répertoire ?\n"
  1490.                                 "    Ce répertoire est utilisé par lk© pour "
  1491.                                 "rechercher des fichiers objects par défault. "
  1492.                                 "Ces fichiers sont 'auto-run.o' et 'overlay.o'.\n"
  1493.                                 "    Vous pouvez bien évidemment effacer les "
  1494.                                 "fichiers objets donnés par défaut pour les "
  1495.                                 "remplacer par vos propres fichiers. "
  1496.                                 "(Notez que les fichiers sources en "
  1497.                                 "assembleur sont fournis et pourront "
  1498.                                 "être modifiés par vos soins).\n"
  1499.                                 "    Sans ce répertoire, vous pourrez utiliser "
  1500.                                 "les fichier objets internes à lk, ou spécifier "
  1501.                                 "vos fichiers personnels sur la ligne de commande."
  1502.                             )
  1503.                         )
  1504.                     )
  1505.                     (if *ovlexist
  1506.                         (choices
  1507.                             " AutoRun Object"
  1508.                             " Stub Object"
  1509.                             " Resize Stack Object"
  1510.                             " Define Priority Object"
  1511.                             " Stack & Priority Object"
  1512.                             " Overlay Header Object"
  1513.                             " Amiga Library Object"
  1514.                         )
  1515.                         (choices
  1516.                             " AutoRun Object"
  1517.                             " Stub Object"
  1518.                             " Resize Stack Object"
  1519.                             " Define Priority Object"
  1520.                             " Stack & Priority Object"
  1521.                         )
  1522.                     )
  1523.                 )
  1524.                 -1
  1525.             )
  1526.         )
  1527.         (if *libselect
  1528.             (
  1529.                 (if (bitand *libselect $0001)
  1530.                     (copyfiles
  1531.                         (source (tackon *path "LIB/autorun.o"))
  1532.                         (dest *libdir)
  1533.                         (nogauge)
  1534.                     )
  1535.                 )
  1536.                 (if (bitand *libselect $0002)
  1537.                     (copyfiles
  1538.                         (source (tackon *path "LIB/stub.o"))
  1539.                         (dest *libdir)
  1540.                         (nogauge)
  1541.                     )
  1542.                 )
  1543.                 (if (bitand *libselect $0004)
  1544.                     (copyfiles
  1545.                         (source (tackon *path "LIB/stacksize.o"))
  1546.                         (dest *libdir)
  1547.                         (nogauge)
  1548.                     )
  1549.                 )
  1550.                 (if (bitand *libselect $0008)
  1551.                     (copyfiles
  1552.                         (source (tackon *path "LIB/priority.o"))
  1553.                         (dest *libdir)
  1554.                         (nogauge)
  1555.                     )
  1556.                 )
  1557.                 (if (bitand *libselect $0010)
  1558.                     (copyfiles
  1559.                         (source (tackon *path "LIB/stackpri.o"))
  1560.                         (dest *libdir)
  1561.                         (nogauge)
  1562.                     )
  1563.                 )
  1564.                 (if (and (bitand *libselect $0020) *ovlexist)
  1565.                     (copyfiles
  1566.                         (source (tackon *path "LIB/overlay.o"))
  1567.                         (dest *libdir)
  1568.                         (nogauge)
  1569.                     )
  1570.                 )
  1571.                 (if (and (bitand *libselect $0040) *ovlexist)
  1572.                     (copyfiles
  1573.                         (source (tackon *path "LIB/library.o"))
  1574.                         (dest *libdir)
  1575.                         (nogauge)
  1576.                     )
  1577.                 )
  1578.                 (if (and *copyfiles $0020)
  1579.                     (foreach *libdir "#?.o"
  1580.                         (if (not (exists (tackon *libdir (cat @each-name ".info"))))
  1581.                             (copyfiles
  1582.                                 (source (tackon *path "ICONS/object.info"))
  1583.                                 (dest *libdir)
  1584.                                 (newname (cat @each-name ".info"))
  1585.                                 (nogauge)
  1586.                             )
  1587.                         )
  1588.                     )
  1589.                 )
  1590.             )
  1591.         )
  1592.     )
  1593. )
  1594.  
  1595. (complete 36)
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601. (set *srcdir (tackon *destdir "SOURCES"))
  1602. (set *srchelp
  1603.     (if *lan
  1604.         (cat
  1605.             "Why create this directory ?\n"
  1606.             "    This directory will be used only by you. "
  1607.             "It is also used to copy the sources "
  1608.             "gived with lk©."
  1609.         )
  1610.         (cat
  1611.             "Pourquoi créer ce répertoire ?\n"
  1612.             "    Ce répertoire ne sera utilisé que par vous. "
  1613.             "Il est néanmoins utilisé pour copier les "
  1614.             "fichiers sources fournis avec lk©."
  1615.         )
  1616.     )
  1617. )
  1618.  
  1619. (if (and (not (exists *srcdir)) (bitand *copyfiles $0010))
  1620.     (makedir
  1621.         *srcdir
  1622.         (prompt
  1623.             (if *lan
  1624.                 (cat
  1625.                     "Create the directory 'LK:SOURCES'.\n"
  1626.                     "\n"
  1627.                     "This directory contains the default sources "
  1628.                     "given with lk©. Those can be used as a "
  1629.                     "base to write your own special object files."
  1630.                 )
  1631.                 (cat
  1632.                     "Crée le répertoire: 'LK:SOURCES'.\n"
  1633.                     "\n"
  1634.                     "Ce répertoire contient les fichiers sources "
  1635.                     "par défaut fournis avec lk©. Ceux-ci peuvent "
  1636.                     "être utilisés comme base pour programmer vos "
  1637.                     "propes fichiers objects."
  1638.                 )
  1639.             )
  1640.         )
  1641.         (help *srchelp)
  1642.         (confirm)
  1643.     )
  1644. )
  1645.  
  1646. (if (and
  1647.             (exists *srcdir)
  1648.             (not (exists (cat *srcdir ".info")))
  1649.             (bitand *copyfiles $0020)
  1650.         )
  1651.     (
  1652.         (copyfiles
  1653.             (source (tackon *path "ICONS/SOURCES.info"))
  1654.             (dest *destdir)
  1655.             (nogauge)
  1656.         )
  1657.     )
  1658. )
  1659.  
  1660. (complete 40)
  1661.  
  1662. (if (and (exists *srcdir) (bitand *copyfiles $0010))
  1663.     (
  1664.       (set *ovlexist (exists (tackon *path "SOURCES/overlay.s")))
  1665.         (set *libselect
  1666.             (if (= @user-level 2)
  1667.                 (askoptions
  1668.                     (prompt
  1669.                         (if *lan
  1670.                             (cat
  1671.                                 "Select sources files.\n"
  1672.                                 "Destination directory: '" *srcdir "'\n"
  1673.                             )
  1674.                             (cat
  1675.                                 "Sélectionnez les fichiers sources.\n"
  1676.                                 "Répertoire de destination: '" *srcdir "'\n"
  1677.                             )
  1678.                         )
  1679.                     )
  1680.                     (if *ovlexist
  1681.                         (choices
  1682.                             " AutoRun Source"
  1683.                             " Stub Source"
  1684.                             " Resize Stack Source"
  1685.                             " Define Priority Source"
  1686.                             " Stack & Priority Source"
  1687.                             " Overlay Header Source"
  1688.                             " Amiga Library Source"
  1689.                         )
  1690.                         (choices
  1691.                             " AutoRun Source"
  1692.                             " Stub Source"
  1693.                             " Resize Stack Source"
  1694.                             " Define Priority Source"
  1695.                             " Stack & Priority Source"
  1696.                         )
  1697.                     )
  1698.                     (help *srchelp)
  1699.                 )
  1700.                 -1
  1701.             )
  1702.         )
  1703.         (if *libselect
  1704.             (
  1705.                 (if (bitand *libselect $0001)
  1706.                     (copyfiles
  1707.                         (source (tackon *path "SOURCES/autorun.s"))
  1708.                         (dest *srcdir)
  1709.                         (nogauge)
  1710.                     )
  1711.                 )
  1712.                 (if (bitand *libselect $0002)
  1713.                     (copyfiles
  1714.                         (source (tackon *path "SOURCES/stub.s"))
  1715.                         (dest *srcdir)
  1716.                         (nogauge)
  1717.                     )
  1718.                 )
  1719.                 (if (bitand *libselect $0004)
  1720.                     (copyfiles
  1721.                         (source (tackon *path "SOURCES/stacksize.s"))
  1722.                         (dest *srcdir)
  1723.                         (nogauge)
  1724.                     )
  1725.                 )
  1726.                 (if (bitand *libselect $0008)
  1727.                     (copyfiles
  1728.                         (source (tackon *path "SOURCES/priority.s"))
  1729.                         (dest *srcdir)
  1730.                         (nogauge)
  1731.                     )
  1732.                 )
  1733.                 (if (bitand *libselect $0010)
  1734.                     (copyfiles
  1735.                         (source (tackon *path "SOURCES/stackpri.s"))
  1736.                         (dest *srcdir)
  1737.                         (nogauge)
  1738.                     )
  1739.                 )
  1740.                 (if (and (bitand *libselect $0020) *ovlexist)
  1741.                     (copyfiles
  1742.                         (source (tackon *path "SOURCES/overlay.s"))
  1743.                         (dest *srcdir)
  1744.                         (nogauge)
  1745.                     )
  1746.                 )
  1747.                 (if (and (bitand *libselect $0040) *ovlexist)
  1748.                     (copyfiles
  1749.                         (source (tackon *path "SOURCES/library.s"))
  1750.                         (dest *srcdir)
  1751.                         (nogauge)
  1752.                     )
  1753.                 )
  1754.                 (if (and *copyfiles $0020)
  1755.                     (foreach *srcdir "#?.s"
  1756.                         (if (not (exists (tackon *srcdir (cat @each-name ".info"))))
  1757.                             (copyfiles
  1758.                                 (source (tackon *path "ICONS/def_text.info"))
  1759.                                 (dest *srcdir)
  1760.                                 (newname (cat @each-name ".info"))
  1761.                                 (nogauge)
  1762.                             )
  1763.                         )
  1764.                     )
  1765.                 )
  1766.             )
  1767.         )
  1768.     )
  1769. )
  1770.  
  1771. (complete 44)
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777. (set *icondir (tackon *destdir "ICONS"))
  1778. (set *iconhelp
  1779.     (if *lan
  1780.         (cat
  1781.             "IMPORTANT:\n"
  1782.             "    The name of that directory will never be changed "
  1783.             "or you will loose the compatibility with lk©.\n"
  1784.             "\n"
  1785.             "Why create this directory ?\n"
  1786.             "    When an assign named 'LK:' exists and "
  1787.             "a directory 'ICONS' is present within that "
  1788.             "assign, lk© is able to look for default icons "
  1789.             "inside that directory.\n"
  1790.             "    Actually lk© uses the icons 'Tool.info' and "
  1791.             "'Library.info' when it is creating an executable "
  1792.             "file or a library (also an object) file respectively.\n"
  1793.             "    lk© is coming with a great selection of icons. "
  1794.             "You can also select the one you prefer to be "
  1795.             "used as the default (You can also create your own "
  1796.             "icons.)"
  1797.         )
  1798.         (cat
  1799.             "IMPORTANT:\n"
  1800.             "    Le nom de ce répertoire ne devra pas être modifié "
  1801.             "si vous désirez conserver la compatibilité avec lk©.\n"
  1802.             "\n"
  1803.             "Pourquoi créer ce répertoire ?\n"
  1804.             "    Quand un 'assign' nommé 'LK:' existe et "
  1805.             "un répertoire 'ICONS' est présent dans cet "
  1806.             "'assign', lk© sera capable de chercher pour "
  1807.             "une icône par défaut dans ce répertoire.\n"
  1808.             "    Actuellement lk© utilise l'icône 'Tool.info' "
  1809.             "quand il crée un executable et 'Library.info' "
  1810.             "quand il crée une librairie (ou fichier objet).\n"
  1811.             "    lk© vient avec une large sélection d'icône. "
  1812.             "Vous pouvez donc sélectionner ceux que vous "
  1813.             "préferez pour être utilisé par défaut (Vous "
  1814.             "pouvez éventuellement créer les votres)."
  1815.         )
  1816.     )
  1817. )
  1818.  
  1819.  
  1820.  
  1821. (if (and (not (exists *icondir)) (bitand *copyfiles $0020))
  1822.     (makedir
  1823.         *icondir
  1824.         (prompt
  1825.             (if *lan
  1826.                 (cat
  1827.                     "Create the directory 'LK:ICONS'.\n"
  1828.                     "\n"
  1829.                     "Do you want to be able to select the ...\n"
  1830.                     "                     ... default icons ?\n"
  1831.                     "\n"
  1832.                     "Then accept the creation of this directory."
  1833.                 )
  1834.                 (cat
  1835.                     "Crée le répertoire: 'LK:ICONS'.\n"
  1836.                     "\n"
  1837.                     "Vous désirez être maître de la sélection...\n"
  1838.                     "               ...  des icônes par défaut ?\n"
  1839.                     "\n"
  1840.                     "Alors acceptez la création de ce répertoire!"
  1841.                 )
  1842.             )
  1843.         )
  1844.         (help *iconhelp)
  1845.         (confirm average)
  1846.     )
  1847. )
  1848.  
  1849. (if (exists *icondir)
  1850.     (
  1851.         (if (not (exists (cat *icondir ".info")))
  1852.             (copyfiles
  1853.                 (source (tackon *path "ICONS/ICONS.info"))
  1854.                 (dest *destdir)
  1855.                 (nogauge)
  1856.             )
  1857.         )
  1858.         (set *iconselect
  1859.             (if (= @user-level 2)
  1860.                 (askoptions
  1861.                     (prompt
  1862.                         (if *lan
  1863.                             (cat
  1864.                                 "Select icons files.\n"
  1865.                                 "\n"
  1866.                                 "Destination directory: '" *icondir "'\n"
  1867.                             )
  1868.                             (cat
  1869.                                 "Sélectionnez les fichiers d'icônes.\n"
  1870.                                 "\n"
  1871.                                 "Répertoire de destination: '" *srcdir "'\n"
  1872.                             )
  1873.                         )
  1874.                     )
  1875.                     (help *iconhelp)
  1876.                     (choices
  1877.                         "Tools"
  1878.                         "Library"
  1879.                         "WITH (lk© script files)"
  1880.                         "Guide"
  1881.                         "Object"
  1882.                         "Text"
  1883.                         "lk"
  1884.                         "lkopts"
  1885.                     )
  1886.                 )
  1887.                 -1
  1888.             )
  1889.         )
  1890.         (if *iconselect
  1891.             (
  1892.               (set *desticon (tackon *path "ICONS"))
  1893.                 (if (bitand *iconselect $0001)
  1894.                     (copyfiles
  1895.                         (source *desticon)
  1896.                         (dest *icondir)
  1897.                         (pattern "def_tool#?.info")
  1898.                         (nogauge)
  1899.                     )
  1900.                 )
  1901.                 (if (bitand *iconselect $0002)
  1902.                     (copyfiles
  1903.                         (source *desticon)
  1904.                         (dest *icondir)
  1905.                         (pattern "def_(|amiga)library.info")
  1906.                         (nogauge)
  1907.                     )
  1908.                 )
  1909.                 (if (bitand *iconselect $0004)
  1910.                     (copyfiles
  1911.                         (source *desticon)
  1912.                         (dest *icondir)
  1913.                         (pattern "def_with#?.info")
  1914.                         (nogauge)
  1915.                     )
  1916.                 )
  1917.                 (if (bitand *iconselect $0008)
  1918.                     (copyfiles
  1919.                         (source *desticon)
  1920.                         (dest *icondir)
  1921.                         (pattern "guide~(dir).info")
  1922.                         (nogauge)
  1923.                     )
  1924.                 )
  1925.                 (if (bitand *iconselect $0010)
  1926.                     (copyfiles
  1927.                         (source *desticon)
  1928.                         (dest *icondir)
  1929.                         (pattern "object.info")
  1930.                         (nogauge)
  1931.                     )
  1932.                 )
  1933.                 (if (bitand *iconselect $0020)
  1934.                     (copyfiles
  1935.                         (source *desticon)
  1936.                         (dest *icondir)
  1937.                         (pattern "def_(text|xref|errorfile|list).info")
  1938.                         (nogauge)
  1939.                     )
  1940.                 )
  1941.                 (if (bitand *iconselect $0040)
  1942.                     (copyfiles
  1943.                         (source *desticon)
  1944.                         (dest *icondir)
  1945.                         (pattern "lk~(dir).info")
  1946.                         (nogauge)
  1947.                     )
  1948.                 )
  1949.                 (if (bitand *iconselect $0080)
  1950.                     (copyfiles
  1951.                         (source *desticon)
  1952.                         (dest *icondir)
  1953.                         (pattern "lkopts~(dir).info")
  1954.                         (nogauge)
  1955.                     )
  1956.                 )
  1957.             )
  1958.         )
  1959.     )
  1960. )
  1961.  
  1962. (complete 52)
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971. (if (bitand *copyfiles $0040)
  1972.     (if (exists (tackon *path "LIBS"))
  1973.         (if
  1974.             (if (= @user-level 2)
  1975.                 (askbool
  1976.                     (prompt
  1977.                         (if *lan
  1978.                             (cat
  1979.                                 "Do you want to copy 'QuickDOS.library' ?\n"
  1980.                                 "\n"
  1981.                                 "Destination directory: 'LIBS:'\n"
  1982.                                 "\n"
  1983.                                 "(File size: "
  1984.                                 (getsize (tackon *path "LIBS/QuickDOS.library"))
  1985.                                 ")"
  1986.                             )
  1987.                             (cat
  1988.                                 "Voulez-vous copier 'QuickDOS.library' ?\n"
  1989.                                 "\n"
  1990.                                 "Répertoire de destination: 'LIBS:'\n"
  1991.                                 "\n"
  1992.                                 "(Taille du fichier: "
  1993.                                 (getsize (tackon *path "LIBS/QuickDOS.library"))
  1994.                                 ")"
  1995.                             )
  1996.                         )
  1997.                     )
  1998.                     (help
  1999.                         (if *lan
  2000.                             (cat
  2001.                                 "What is QuickDOS library?\n"
  2002.                                 "    QuickDOS library is a standard Amiga "
  2003.                                 "library which can be used by any one. "
  2004.                                 "lk© uses QuickDOS library which enables "
  2005.                                 "a very fast link after the first pass "
  2006.                                 "(Because the second time most files are "
  2007.                                 "in memory.) QuickDOS really imporve the "
  2008.                                 "speed of lk© but may quickly generate "
  2009.                                 "low memory errors (usual 'out of memory') "
  2010.                                 "on small systems. It is better to install "
  2011.                                 "QuickDOS when you have 3Mb or more of "
  2012.                                 "memory. Expert users may play with the "
  2013.                                 "instruction QDSTOP and QDSTART to select "
  2014.                                 "files which have to be loaded through "
  2015.                                 "QuickDOS.\n"
  2016.                                 "\n"
  2017.                                 "    Programmers will find a complete "
  2018.                                 "documentation, includes, file definition "
  2019.                                 "and more on the AmiNet. This way any "
  2020.                                 "programmer will be able to develop "
  2021.                                 "its own tool with QuickDOS (it is "
  2022.                                 "very similar to 'dos.library'.)"
  2023.                             )
  2024.                             (cat
  2025.                                 "Qu'est-ce que la librairie QuickDOS?\n"
  2026.                                 "\n"
  2027.                                 "    La librairie QuickDOS est une librairie "
  2028.                                 "standard Amiga qui peut être utilisée par "
  2029.                                 "tout le monde. lk© utilise QuickDOS pour "
  2030.                                 "permettre des liens très rapide après un "
  2031.                                 "premier appel à lk© (le second appel est "
  2032.                                 "plus rapide du fait que les fichiers sont "
  2033.                                 "déjà en mémoire). QuickDOS augmente vraiment "
  2034.                                 "la vitesse de lk© mais peut rapidement "
  2035.                                 "générer des erreurs de mémoires (les "
  2036.                                 "habituels 'plus de mémoire') sur de "
  2037.                                 "petits système. Il est plus mieux de "
  2038.                                 "n'installer QuickDOS que lorsque vous "
  2039.                                 "avez 3Mo de mémoire ou plus. Les utilisateurs "
  2040.                                 "experts pouront néanmoins jouer avec les "
  2041.                                 "instruction QDSTOP et QDSTART pour "
  2042.                                 "sélectionner les fichiers devant être "
  2043.                                 "chargés au moyen de QuickDOS.\n"
  2044.                                 "\n"
  2045.                                 "    Un programmer désirant utiliser "
  2046.                                 "QuickDOS dans un utilitaire trouvera "
  2047.                                 "une documentation complète, ainsi que "
  2048.                                 "des fichiers includes, de définition, "
  2049.                                 "etc. sur AmiNet. Avec tout ceci l'utilisation "
  2050.                                 "de QuickDOS est particulièrement simple "
  2051.                                 "(très similaire à 'dos.library')."
  2052.                             )
  2053.                         )
  2054.                     )
  2055.                     (choices
  2056.                         (if *lan "Yes" "Oui")
  2057.                         (if *lan "No" "Non")
  2058.                     )
  2059.                 )
  2060.                 1
  2061.             )
  2062.             (copyfiles
  2063.                 (source (tackon *path "LIBS/QuickDOS.library"))
  2064.                 (dest "LIBS:")
  2065.                 (nogauge)
  2066.             )
  2067.         )
  2068.         (message
  2069.             (if *lan
  2070.                 (cat
  2071.                     "\n"
  2072.                     "Sorry!\n"
  2073.                     "\n"
  2074.                     "'quickdos.library' is not supported\n"
  2075.                     "by\n"
  2076.                     "the demo version of lk©"
  2077.                 )
  2078.                 (cat
  2079.                     "\n"
  2080.                     "Désolé!\n"
  2081.                     "\n"
  2082.                     "'quickdos.library' n'est pas supporté\n"
  2083.                     "par\n"
  2084.                     "la version de démonstration de lk©"
  2085.                 )
  2086.             )
  2087.         )
  2088.     )
  2089. )
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096. ;If TOOLS does not exist, this is the demo version...
  2097.  
  2098. (set *tooldir (tackon *path "TOOLS"))
  2099. (set *docsdir (tackon *path "DOCS"))
  2100.  
  2101. (if (bitand *copyfiles $0080)
  2102.     (
  2103.         (set *demo (not (exists (tackon *tooldir "ds"))))
  2104.         (if *demo
  2105.             (message
  2106.                 (if *lan
  2107.                     (cat
  2108.                         "\n"
  2109.                         "Sorry!\n"
  2110.                         "\n"
  2111.                         "No tool is provided with the demo.\n"
  2112.                         "\n"
  2113.                         "Available tools for recorded people:\n"
  2114.                         "\n"
  2115.                         "make  lsobj  remove  stripasm\n"
  2116.                         "guru  touch  ds              \n"
  2117.                         "\n"
  2118.                         "However some scripts are available."
  2119.                     )
  2120.                     (cat
  2121.                         "\n"
  2122.                         "Désolé!\n"
  2123.                         "\n"
  2124.                         "Aucun outil n'est fournis avec la démo.\n"
  2125.                         "\n"
  2126.                         "Outils disponibles pour les gens enregistrés:\n"
  2127.                         "\n"
  2128.                         "make  lsobj  remove  stripasm\n"
  2129.                         "guru  touch  ds              \n"
  2130.                         "\n"
  2131.                         "Néanmoins des scriptes sont disponibles."
  2132.                     )
  2133.                 )
  2134.             )
  2135.         )
  2136.         (set *toolhelp
  2137.             (if *lan
  2138.                 (cat
  2139.                     "Which directory has to be selected ?\n"
  2140.                     "    lk© does not force you to use a directory "
  2141.                     "or another in this case. You can select any "
  2142.                     "directory which already has a path and which "
  2143.                     "probably already contains other tools. Two "
  2144.                     "directories are suggested:\n"
  2145.                     "    U:\n"
  2146.                     "    C:\n"
  2147.                     "\n"
  2148.                     @askdir-help
  2149.                 )
  2150.                 (cat
  2151.                     "Quel répertoire choisir ?\n"
  2152.                     "    lk© ne vous force pas à utiliser un "
  2153.                     "répertoire spécifique dans ce cas. Vous pouvez "
  2154.                     "sélectionner un répertoire ayant déjà un chemin "
  2155.                     "d'accès et qui probablement contient déjà d'autres "
  2156.                     "outils. Deux répertoires sont suggerés:\n"
  2157.                     "    U:\n"
  2158.                     "    C:\n"
  2159.                     "\n"
  2160.                     @askdir-help
  2161.                 )
  2162.             )
  2163.         )
  2164.         (makedir (tackon *destdir "TOOLS"))
  2165.         (if (not *demo)
  2166.             (
  2167.                 (set *destdocs (tackon *destdir "DOCS"))
  2168.                 (makedir *destdocs)
  2169.             )
  2170.         )
  2171.         (if (bitand *copyfiles $0020)
  2172.             (
  2173.                 (copyfiles
  2174.                     (source (tackon *path "ICONS/objectdir.info"))
  2175.                     (dest *destdir)
  2176.                     (newname "TOOLS.info")
  2177.                     (nogauge)
  2178.                 )
  2179.                 (if (not *demo)
  2180.                     (copyfiles
  2181.                         (source (tackon *path "ICONS/helpdir.info"))
  2182.                         (dest *destdir)
  2183.                         (newname "DOCS.info")
  2184.                         (nogauge)
  2185.                     )
  2186.                 )
  2187.             )
  2188.         )
  2189.         (run "path LK:TOOLS add")
  2190.         (set *desttool
  2191.             (askdir
  2192.                 (prompt
  2193.                     (if *lan
  2194.                         "Select a directory to save lk© tools"
  2195.                         "Sélectionnez un répertoire pour les outils de lk©"
  2196.                     )
  2197.                 )
  2198.                 (help *toolhelp)
  2199.                 (default "LK:TOOLS")
  2200.             )
  2201.         )
  2202.         (set *tools
  2203.             (askoptions
  2204.                 (prompt
  2205.                     (if *lan
  2206.                         "Select Tools to Copy"
  2207.                         "Sélectionnez les Outils à Copier"
  2208.                     )
  2209.                 )
  2210.                 (help
  2211.                     (cat
  2212.                         (if *lan
  2213.                             (cat
  2214.                                 "Which tools should I copy?\n"
  2215.                                 "(Tools will be accompanied with a documentation "
  2216.                                 "scripts might not have any documentation.)\n"
  2217.                                 "\n"
  2218.                                 "  1. make\n"
  2219.                                 "\n"
  2220.                                 "    This tool is a very simple non-unix maker. "
  2221.                                 "It does not support the usual file maker syntax "
  2222.                                 "but is somewhat powerful.\n"
  2223.                                 "    It is not needed for you to take this tool "
  2224.                                 "if you already have a file maker.\n"
  2225.                                 "\n"
  2226.                                 "  2. guru\n"
  2227.                                 "\n"
  2228.                                 "    This tool is useful to know about guru "
  2229.                                 "numbers. It is very simple to use (for sure "
  2230.                                 "it is quicker than look inside the 'alert' "
  2231.                                 "file) and supports alerts of V3.x.\n"
  2232.                                 "\n"
  2233.                                 "  3. lsobj\n"
  2234.                                 "\n"
  2235.                                 "    This tool can list any object or executable "
  2236.                                 "file into the current window. This tool is powerful "
  2237.                                 "in that it can list some kind of invalid object "
  2238.                                 "files.\n"
  2239.                                 "    You will copy the tool 'ds' if you want to "
  2240.                                 "use the desassembler options of 'lsobj'.\n"
  2241.                                 "\n"
  2242.                                 "  4. ld\n"
  2243.                                 "\n"
  2244.                                 "    This script enables a Unix like usage (or "
  2245.                                 "dlink of DICE.) No commentaries will be displayed, "
  2246.                                 "only warnings and errors are printed.\n"
  2247.                                 "\n"
  2248.                                 "  5. checkwith\n"
  2249.                                 "\n"
  2250.                                 "    This script executes an lk© script file to "
  2251.                                 "know if some errors exists in it. This will "
  2252.                                 "be used to check the validity of the lk© script "
  2253.                                 "file, no link will occur.\n"
  2254.                                 "\n"
  2255.                                 "  6. qdload\n"
  2256.                                 "\n"
  2257.                                 "    This script will executes an lk© script "
  2258.                                 "file and load the corresponding object, "
  2259.                                 "library and description files through QuickDOS "
  2260.                                 "library. This way the following links will "
  2261.                                 "be extremly fast.\n"
  2262.                                 "\n"
  2263.                                 "  7. qdremove\n"
  2264.                                 "\n"
  2265.                                 "    You can execute this script when you do "
  2266.                                 "not need to use QuickDOS® library. It will "
  2267.                                 "be removed from memory (if no one actually "
  2268.                                 "use it.) Any further call to lk© will "
  2269.                                 "load the library back in memory.\n"
  2270.                                 "\n"
  2271.                                 "  8. fd2offset\n"
  2272.                                 "\n"
  2273.                                 "    This script transforms the source file description "
  2274.                                 "file(s) in a list of offsets. The destination "
  2275.                                 "file can be:\n"
  2276.                                 "    . object\n"
  2277.                                 "    . assembler (_LVO... = <value>)\n"
  2278.                                 "    . C header (#define _LVO... <value>)\n"
  2279.                                 "    . Pascal header (const _LVO... = <value>;)\n"
  2280.                                 "\n"
  2281.                                 "  9. fd2lib\n"
  2282.                                 "\n"
  2283.                                 "    This script transforms the source file description "
  2284.                                 "file(s) in a list of offsets. The destination "
  2285.                                 "file can be:\n"
  2286.                                 "    . object\n"
  2287.                                 "    . assembler (  XREF _...)\n"
  2288.                                 "    . C header (extern long _...(params);)\n"
  2289.                                 "    . Pascal header (forword _...(params);)\n"
  2290.                                 "\n"
  2291.                                 "  10. strip\n"
  2292.                                 "\n"
  2293.                                 "    This script deletes any kind of debug from an executable "
  2294.                                 "file.\n"
  2295.                                 "\n"
  2296.                                 "  11. stripasm\n"
  2297.                                 "\n"
  2298.                                 "    This tool makes an assembler source the smaller than "
  2299.                                 "possible, stripping the commentaries and extra spaces.\n"
  2300.                                 "\n"
  2301.                                 "  12. touch\n"
  2302.                                 "\n"
  2303.                                 "    This tool changes the date of the specified files "
  2304.                                 "with the current system date (useful with 'make'.)\n"
  2305.                                 "\n"
  2306.                                 "  13. remove\n"
  2307.                                 "\n"
  2308.                                 "    This tool removes a library from your memory. "
  2309.                                 "This is not specific to QuickDOS© library.\n"
  2310.                                 "\n"
  2311.                                 "  14. ds\n"
  2312.                                 "\n"
  2313.                                 "    This tool enables the desassembly of a memory "
  2314.                                 "buffer or a file of code. The result is written "
  2315.                                 "into the active window. 'ds' is able to desassemble "
  2316.                                 "any CPU of the 68000 family, including the 881/2 and "
  2317.                                 "the 851 coprocessors."
  2318.                             )
  2319.                             (cat
  2320.                                 "Quel outil dois-je copié?\n"
  2321.                                 "(Les outils sont accompagniés d'une documentation, "
  2322.                                 "néanmoins les scriptes peuvent ne pas en avoir.)\n"
  2323.                                 "\n"
  2324.                                 "  1. make\n"
  2325.                                 "\n"
  2326.                                 "    Cet outil est un très simple maker, non-unix. "
  2327.                                 "Il ne support pas la syntax habituelle des makers "
  2328.                                 "de fichiers mais il est tout de même puisant.\n"
  2329.                                 "    Il ne vous est pas nécessaire de prendre "
  2330.                                 "cette outil si vous avez déjà un maker de "
  2331.                                 "fichier.\n"
  2332.                                 "\n"
  2333.                                 "  2. guru\n"
  2334.                                 "\n"
  2335.                                 "    Cet outil est fort utile pour connaître "
  2336.                                 "les numéros de gurus. Il est très simple "
  2337.                                 "d'utilisation (surment plus que de chercher "
  2338.                                 "dans le fichier 'alert') et support tous les "
  2339.                                 "gurus jusqu'à la version V3.x.\n"
  2340.                                 "\n"
  2341.                                 "  3. lsobj\n"
  2342.                                 "\n"
  2343.                                 "    Cet outil peut lister les fichiers objets "
  2344.                                 "et exécutables dans la fenêtre courrante. "
  2345.                                 "Cet utilitaire est puissant du fait qu'il est "
  2346.                                 "capable de lister certain fichiers objects "
  2347.                                 "qui sont invalids.\n"
  2348.                                 "    L'outil 'ds' est nécessaire si vous désirez "
  2349.                                 "utiliser l'option de desassemblage de 'lsobj'.\n"
  2350.                                 "\n"
  2351.                                 "  4. ld\n"
  2352.                                 "\n"
  2353.                                 "    Ce scripte permet d'utiliser lk exactement "
  2354.                                 "comme sur une machine Unix (ou comme dlink de "
  2355.                                 "DICE). Aucun commentaire n'appaît à l'écran "
  2356.                                 "seul les erreurs et warning sont affichés.\n"
  2357.                                 "\n"
  2358.                                 "  5. checkwith\n"
  2359.                                 "\n"
  2360.                                 "    Ce scripte execute lk de façon à savoir "
  2361.                                 "si the script spécifié est correct. Seul "
  2362.                                 "la vérifivation est réalisé, aucun lien n'a lieu.\n"
  2363.                                 "\n"
  2364.                                 "  6. qdload\n"
  2365.                                 "\n"
  2366.                                 "    Ce scripte executera un fichier scripte de "
  2367.                                 "lk© et chargera les fichiers objects, libraries et "
  2368.                                 "fichiers de description utilisés au moyen de "
  2369.                                 "la librarie QuickDOS. De ce fait ils seront déjà "
  2370.                                 "en mémoire pour les appels suivant.\n"
  2371.                                 "\n"
  2372.                                 "  7. qdremove\n"
  2373.                                 "\n"
  2374.                                 "    L'exécution de ce scripte éliminera la "
  2375.                                 "librairie QuickDOS© de la mémoire. Vous devriez "
  2376.                                 "l'utiliser quand vous n'avez plus besoin de "
  2377.                                 "lk©. Dès le prochain appel de lk©, la "
  2378.                                 "librairie sera à nouveau chargée en mémoire.\n"
  2379.                                 "\n"
  2380.                                 "  8. fd2offset\n"
  2381.                                 "\n"
  2382.                                 "    Ce scripte transforme le(s) fichier(s) de "
  2383.                                 "description definis en source en fichier(s) "
  2384.                                 "d'offsets. La destination peut être:\n"
  2385.                                 "    . objet\n"
  2386.                                 "    . assembleur (_LVO... = <valeur>)\n"
  2387.                                 "    . en-tête C (#define _LVO... <valeur>)\n"
  2388.                                 "    . en-tête Pascal (const _LVO... = <valeur>;)\n"
  2389.                                 "\n"
  2390.                                 "  9. fd2lib\n"
  2391.                                 "\n"
  2392.                                 "    Ce scripte transforme le(s) fichier(s) de "
  2393.                                 "description définis en source en fichier(s) "
  2394.                                 "d'offsets. La destination peut être:\n"
  2395.                                 "    . objet\n"
  2396.                                 "    . assembleur (  XREF _...)\n"
  2397.                                 "    . en-tête C (extern long _...(params);)\n"
  2398.                                 "    . en-tête Pascal (forword _...(params);)\n"
  2399.                                 "\n"
  2400.                                 "  10. strip\n"
  2401.                                 "\n"
  2402.                                 "    Ce scripte détruis tous les débugs d'un "
  2403.                                 "fichier exécutable quelque soit leur type.\n"
  2404.                                 "\n"
  2405.                                 "  11. stripasm\n"
  2406.                                 "\n"
  2407.                                 "    Cet outil supprime les commentaires et espaces "
  2408.                                 "inutiles des fichiers sources en assembleurs.\n"
  2409.                                 "\n"
  2410.                                 "  12. touch\n"
  2411.                                 "\n"
  2412.                                 "    Cet outil change la date des fichiers spécifiés "
  2413.                                 "avec la date actuelle du système (particulièrement "
  2414.                                 "utile avec le make.)\n"
  2415.                                 "\n"
  2416.                                 "  13. remove\n"
  2417.                                 "\n"
  2418.                                 "    Cet outil supprime une librairie de la mémoire. "
  2419.                                 "Ceci n'est pas spécifique à QuickDOS©.\n"
  2420.                                 "\n"
  2421.                                 "  14. ds\n"
  2422.                                 "\n"
  2423.                                 "    Cet outil permet de desassemble un buffer de "
  2424.                                 "la mémoire, ou un fichier de code. Le résultat est "
  2425.                                 "écrit dans la fenêtre active. 'ds' est capable de "
  2426.                                 "desassembler toute la famille des 68000. Incluant "
  2427.                                 "les coprocessors 881/2 et 851."
  2428.                             )
  2429.                         )
  2430.                         "\n\n\n"
  2431.                         *toolhelp
  2432.                     )
  2433.                 )
  2434.                 (if *demo
  2435.                     (choices
  2436.                         "checkwith"
  2437.                         "fd2lib"
  2438.                         "fd2offset"
  2439.                         "ld"
  2440.                         "qdload"
  2441.                         "qdremove"
  2442.                         "strip"
  2443.                     )
  2444.                     (choices
  2445.                         "checkwith"
  2446.                         "fd2lib"
  2447.                         "fd2offset"
  2448.                         "ld"
  2449.                         "qdload"
  2450.                         "qdremove"
  2451.                         "strip"
  2452.  
  2453.                         "ds"
  2454.                         "guru"
  2455.                         "lsobj"
  2456.                         "make"
  2457.                         "remove"
  2458.                         "stripasm"
  2459.                         "touch"
  2460.                     )
  2461.                 )
  2462.             )
  2463.         )
  2464.  
  2465.  
  2466.         (if (bitand *tools $0001)
  2467.             (
  2468.                 (copyfiles
  2469.                     (source (tackon *tooldir "checkwith"))
  2470.                     (dest *desttool)
  2471.                     (nogauge)
  2472.                 )
  2473.                 (if (bitand *copyfiles $0020)
  2474.                     (copyfiles
  2475.                         (source (tackon *path "ICONS/script.info"))
  2476.                         (dest *desttool)
  2477.                         (newname "checkwith.info")
  2478.                         (nogauge)
  2479.                     )
  2480.                 )
  2481.             )
  2482.         )
  2483.         (if (bitand *tools $0002)
  2484.             (
  2485.                 (copyfiles
  2486.                     (source (tackon *tooldir "fd2lib"))
  2487.                     (dest *desttool)
  2488.                     (nogauge)
  2489.                 )
  2490.                 (if (bitand *copyfiles $0020)
  2491.                     (copyfiles
  2492.                         (source (tackon *path "ICONS/script.info"))
  2493.                         (dest *desttool)
  2494.                         (newname "fd2lib.info")
  2495.                         (nogauge)
  2496.                     )
  2497.                 )
  2498.             )
  2499.         )
  2500.         (if (bitand *tools $0004)
  2501.             (
  2502.                 (copyfiles
  2503.                     (source (tackon *tooldir "fd2offset"))
  2504.                     (dest *desttool)
  2505.                     (nogauge)
  2506.                 )
  2507.                 (if (bitand *copyfiles $0020)
  2508.                     (copyfiles
  2509.                         (source (tackon *path "ICONS/script.info"))
  2510.                         (dest *desttool)
  2511.                         (newname "fd2offset.info")
  2512.                         (nogauge)
  2513.                     )
  2514.                 )
  2515.             )
  2516.         )
  2517.         (if (bitand *tools $0008)
  2518.             (
  2519.                 (copyfiles
  2520.                     (source (tackon *tooldir "ld"))
  2521.                     (dest *desttool)
  2522.                     (nogauge)
  2523.                 )
  2524.                 (if (bitand *copyfiles $0020)
  2525.                     (copyfiles
  2526.                         (source (tackon *path "ICONS/script.info"))
  2527.                         (dest *desttool)
  2528.                         (newname "ld.info")
  2529.                         (nogauge)
  2530.                     )
  2531.                 )
  2532.             )
  2533.         )
  2534.         (if (bitand *tools $0010)
  2535.             (
  2536.                 (copyfiles
  2537.                     (source (tackon *tooldir "qdload"))
  2538.                     (dest *desttool)
  2539.                     (nogauge)
  2540.                 )
  2541.                 (if (bitand *copyfiles $0020)
  2542.                     (copyfiles
  2543.                         (source (tackon *path "ICONS/script.info"))
  2544.                         (dest *desttool)
  2545.                         (newname "qdload.info")
  2546.                         (nogauge)
  2547.                     )
  2548.                 )
  2549.             )
  2550.         )
  2551.         (if (bitand *tools $0020)
  2552.             (
  2553.                 (copyfiles
  2554.                     (source (tackon *tooldir "qdremove"))
  2555.                     (dest *desttool)
  2556.                     (nogauge)
  2557.                 )
  2558.                 (if (bitand *copyfiles $0020)
  2559.                     (copyfiles
  2560.                         (source (tackon *path "ICONS/script.info"))
  2561.                         (dest *desttool)
  2562.                         (newname "qdremove.info")
  2563.                         (nogauge)
  2564.                     )
  2565.                 )
  2566.             )
  2567.         )
  2568.         (if (bitand *tools $0040)
  2569.             (
  2570.                 (copyfiles
  2571.                     (source (tackon *tooldir "strip"))
  2572.                     (dest *desttool)
  2573.                     (nogauge)
  2574.                 )
  2575.                 (if (bitand *copyfiles $0020)
  2576.                     (copyfiles
  2577.                         (source (tackon *path "ICONS/script.info"))
  2578.                         (dest *desttool)
  2579.                         (newname "strip.info")
  2580.                         (nogauge)
  2581.                     )
  2582.                 )
  2583.             )
  2584.         )
  2585.  
  2586.  
  2587.  
  2588.         (if (bitand *tools $0080)
  2589.             (
  2590.                 (copyfiles
  2591.                     (source (tackon *tooldir "ds"))
  2592.                     (dest *desttool)
  2593.                     (nogauge)
  2594.                 )
  2595.                 (copyfiles
  2596.                     (source (tackon *docsdir "ds.doc"))
  2597.                     (dest *destdocs)
  2598.                     (nogauge)
  2599.                 )
  2600.                 (if (bitand *copyfiles $0020)
  2601.                     (
  2602.                         (copyfiles
  2603.                             (source (tackon *path "ICONS/def_tool.info"))
  2604.                             (dest *desttool)
  2605.                             (newname "ds.info")
  2606.                             (nogauge)
  2607.                         )
  2608.                         (copyfiles
  2609.                             (source (tackon *path "ICONS/document.info"))
  2610.                             (dest *destdocs)
  2611.                             (newname "ds.doc.info")
  2612.                             (nogauge)
  2613.                         )
  2614.                     )
  2615.                 )
  2616.             )
  2617.         )
  2618.         (if (bitand *tools $0100)
  2619.             (
  2620.                 (copyfiles
  2621.                     (source (tackon *tooldir "guru"))
  2622.                     (dest *desttool)
  2623.                     (nogauge)
  2624.                 )
  2625.                 (copyfiles
  2626.                     (source (tackon *docsdir "guru.doc"))
  2627.                     (dest *destdocs)
  2628.                     (nogauge)
  2629.                 )
  2630.                 (if (bitand *copyfiles $0020)
  2631.                     (
  2632.                         (copyfiles
  2633.                             (source (tackon *path "ICONS/def_tool.info"))
  2634.                             (dest *desttool)
  2635.                             (newname "guru.info")
  2636.                             (nogauge)
  2637.                         )
  2638.                         (copyfiles
  2639.                             (source (tackon *path "ICONS/document.info"))
  2640.                             (dest *destdocs)
  2641.                             (newname "guru.doc.info")
  2642.                             (nogauge)
  2643.                         )
  2644.                     )
  2645.                 )
  2646.             )
  2647.         )
  2648.         (if (bitand *tools $0200)
  2649.             (
  2650.                 (copyfiles
  2651.                     (source (tackon *tooldir "lsobj"))
  2652.                     (dest *desttool)
  2653.                     (nogauge)
  2654.                 )
  2655.                 (copyfiles
  2656.                     (source (tackon *docsdir "lsobj.doc"))
  2657.                     (dest *destdocs)
  2658.                     (nogauge)
  2659.                 )
  2660.                 (if (bitand *copyfiles $0020)
  2661.                     (
  2662.                         (copyfiles
  2663.                             (source (tackon *path "ICONS/def_tool.info"))
  2664.                             (dest *desttool)
  2665.                             (newname "lsobj.info")
  2666.                             (nogauge)
  2667.                         )
  2668.                         (copyfiles
  2669.                             (source (tackon *path "ICONS/document.info"))
  2670.                             (dest *destdocs)
  2671.                             (newname "lsobj.doc.info")
  2672.                             (nogauge)
  2673.                         )
  2674.                     )
  2675.                 )
  2676.             )
  2677.         )
  2678.         (if (bitand *tools $0400)
  2679.             (
  2680.                 (copyfiles
  2681.                     (source (tackon *tooldir "make"))
  2682.                     (dest *desttool)
  2683.                     (nogauge)
  2684.                 )
  2685.                 (copyfiles
  2686.                     (source (tackon *docsdir "make.doc"))
  2687.                     (dest *destdocs)
  2688.                     (nogauge)
  2689.                 )
  2690.                 (if (bitand *copyfiles $0020)
  2691.                     (
  2692.                         (copyfiles
  2693.                             (source (tackon *path "ICONS/def_tool.info"))
  2694.                             (dest *desttool)
  2695.                             (newname "make.info")
  2696.                             (nogauge)
  2697.                         )
  2698.                         (copyfiles
  2699.                             (source (tackon *path "ICONS/document.info"))
  2700.                             (dest *destdocs)
  2701.                             (newname "make.doc.info")
  2702.                             (nogauge)
  2703.                         )
  2704.                     )
  2705.                 )
  2706.             )
  2707.         )
  2708.         (if (bitand *tools $0800)
  2709.             (
  2710.                 (copyfiles
  2711.                     (source (tackon *tooldir "remove"))
  2712.                     (dest *desttool)
  2713.                     (nogauge)
  2714.                 )
  2715.                 (if (bitand *copyfiles $0020)
  2716.                     (
  2717.                         (copyfiles
  2718.                             (source (tackon *path "ICONS/def_tool.info"))
  2719.                             (dest *desttool)
  2720.                             (newname "remove.info")
  2721.                             (nogauge)
  2722.                         )
  2723. ;                        (copyfiles
  2724. ;                            (source (tackon *path "ICONS/document.info"))
  2725. ;                            (dest *destdocs)
  2726. ;                            (newname "remove.doc.info")
  2727. ;                            (nogauge)
  2728. ;                        )
  2729.                     )
  2730.                 )
  2731.             )
  2732.         )
  2733.         (if (bitand *tools $1000)
  2734.             (
  2735.                 (copyfiles
  2736.                     (source (tackon *tooldir "stripasm"))
  2737.                     (dest *desttool)
  2738.                     (nogauge)
  2739.                 )
  2740.                 (if (bitand *copyfiles $0020)
  2741.                     (
  2742.                         (copyfiles
  2743.                             (source (tackon *path "ICONS/def_tool.info"))
  2744.                             (dest *desttool)
  2745.                             (newname "stripasm.info")
  2746.                             (nogauge)
  2747.                         )
  2748. ;                        (copyfiles
  2749. ;                            (source (tackon *path "ICONS/document.info"))
  2750. ;                            (dest *destdocs)
  2751. ;                            (newname "stripasm.doc.info")
  2752. ;                            (nogauge)
  2753. ;                        )
  2754.                     )
  2755.                 )
  2756.             )
  2757.         )
  2758.         (if (bitand *tools $2000)
  2759.             (
  2760.                 (copyfiles
  2761.                     (source (tackon *tooldir "touch"))
  2762.                     (dest *desttool)
  2763.                     (nogauge)
  2764.                 )
  2765.                 (if (bitand *copyfiles $0020)
  2766.                     (
  2767.                         (copyfiles
  2768.                             (source (tackon *path "ICONS/def_tool.info"))
  2769.                             (dest *desttool)
  2770.                             (newname "touch.info")
  2771.                             (nogauge)
  2772.                         )
  2773. ;                        (copyfiles
  2774. ;                            (source (tackon *path "ICONS/document.info"))
  2775. ;                            (dest *destdocs)
  2776. ;                            (newname "touch.doc.info")
  2777. ;                            (nogauge)
  2778. ;                        )
  2779.                     )
  2780.                 )
  2781.             )
  2782.         )
  2783.     )
  2784. )
  2785.  
  2786. (complete 60)
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795. (startup "lk"
  2796.     (prompt
  2797.         (if *lan
  2798.             (cat
  2799.                 "\n"
  2800.                 "The next operation will add the needed\n"
  2801.                 "\n"
  2802.                 "assign and paths\n"
  2803.                 "\n"
  2804.                 "in your 'User-Startup'\n"
  2805.                 "\n"
  2806.                 "***  Note  ***\n"
  2807.                 "\n"
  2808.                 "You may have to move the command lines\n"
  2809.                 "because they are saved at the end of\n"
  2810.                 "your startup file."
  2811.             )
  2812.             (cat
  2813.                 "\n"
  2814.                 "La prochaine opération ajoutera les\n"
  2815.                 "\n"
  2816.                 "chemins d'accès et 'assign'\n"
  2817.                 "\n"
  2818.                 "nécessaire dans votre 'User-Startup'\n"
  2819.                 "\n"
  2820.                 "***  Note  ***\n"
  2821.                 "\n"
  2822.                 "Il vous faudra peut être déplacer les lignes\n"
  2823.                 "de commandes, car elles seront ajoutées à la\n"
  2824.                 "fin de votre fichier de démarrage."
  2825.             )
  2826.         )
  2827.     )
  2828.     (help
  2829.         (if *lan
  2830.             (cat
  2831.                 "This operation is absolutly safe. It also"
  2832.                 "generate:\n"
  2833.                 "     ASSIGN LK: " *destdir "\n"
  2834.                 "     (Give its power to lk©)\n"
  2835.                 "     PATH LK: ADD\n"
  2836.                 "     (Make lk© accessible on a CLI command line)\n"
  2837.                 "     PATH LK:TOOLS ADD\n"
  2838.                 "     (Make lk© tools accessible)\n"
  2839.                 "\n"
  2840.                 "You will have to edit your user startup "
  2841.                 "and search for 'BEGIN lk' string if you "
  2842.                 "have an ENDCLI into your User-Startup "
  2843.                 "file.\n"
  2844.                 "\n"
  2845.                 "You can skip this operation if you do "
  2846.                 "not want to use the maximum power of lk©."
  2847.             )
  2848.             (cat
  2849.                 "Cette opération est absolument sans danger. Elle "
  2850.                 "génère:\n"
  2851.                 "     ASSIGN LK: " *destdir "\n"
  2852.                 "     (Donne toute ça puissante à lk©)\n"
  2853.                 "     PATH LK: ADD\n"
  2854.                 "     (Rend lk© accessible sur une ligne de commande CLI)\n"
  2855.                 "     PATH LK:TOOLS ADD\n"
  2856.                 "     (Rend lk© les outils accessible)\n"
  2857.                 "\n"
  2858.                 "Vous pouvez éviter cette opération si vous "
  2859.                 "ne voulez pas utiliser la puissance maximale "
  2860.                 "de lk©."
  2861.             )
  2862.         )
  2863.     )
  2864.     (command
  2865.         "ASSIGN LK: " *destdir "\n"
  2866.         "PATH LK: ADD\n"
  2867.         "IF EXISTS LK:TOOLS\n"
  2868.         "  PATH LK:TOOLS ADD\n"
  2869.         "ENDIF"
  2870.     )
  2871. )
  2872.  
  2873. (complete 65)
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883. (if (bitand *copyfiles $0300)
  2884.     (if (exists (tackon *path "HELP"))
  2885.         (set *path2 *path)
  2886.         (
  2887.             (set *path2 (cat *path " Help Files"))
  2888.             (askdisk
  2889.                 *path2
  2890.                 (prompt
  2891.                     (if *lan
  2892.                         ("Please insert disk 2")
  2893.                         ("Merci d'inserer le disque 2")
  2894.                     )
  2895.                 )
  2896.                 (help
  2897.                     (if *lan
  2898.                         (cat
  2899.                             "The disk 2 includes help files.\n"
  2900.                             "\n"
  2901.                             "You may think that help files are useless "
  2902.                             "but this is certainly not the case. The "
  2903.                             "size of help text now is around 174Kb for "
  2904.                             "the english version. It may contains "
  2905.                             "some useful information...\n"
  2906.                             "\n"
  2907.                             "You may abort installation now if you "
  2908.                             "do not want to install help files."
  2909.                         )
  2910.                         (cat
  2911.                             "La disquette 2 inclus les fichiers d'aide.\n"
  2912.                             "\n"
  2913.                             "Vous pouvez peut-être penser que les fichiers "
  2914.                             "d'aides sont inutiles, mais il s'agit la "
  2915.                             "d'une source d'information incontestable. "
  2916.                             "La taille des fichiers de texte est d'environ "
  2917.                             "207Ko pour la version française. Cela peut "
  2918.                             "fort probablement contenir des informations "
  2919.                             "très utiles...\n"
  2920.                             "\n"
  2921.                             "Vous pouvez annuler l'installation maintenant "
  2922.                             "si vous ne voulez pas les fichiers d'aide."
  2923.                         )
  2924.                     )
  2925.                 )
  2926.             )
  2927.         )
  2928.     )
  2929. )
  2930.  
  2931.  
  2932. (if (bitand *copyfiles $0100)
  2933.     (
  2934.         (set *copyhelp
  2935.             (askbool
  2936.                 (prompt
  2937.                     (if *lan
  2938.                         (cat
  2939.                             "\n"
  2940.                             "Are you sure that you really desire ....\n"
  2941.                             "\n"
  2942.                             "      ... to copy all help files ?\n"
  2943.                             "\n"
  2944.                             "\n"
  2945.                             "(Guides are in the following copy,    \n"
  2946.                             "         they are compatible with AmigaGuide)"
  2947.                         )
  2948.                         (cat
  2949.                             "\n"
  2950.                             "Êtes vous sure de vraiment vouloir ...\n"
  2951.                             "\n"
  2952.                             "      ... copier tous les fichiers d'aide ?"
  2953.                             "\n"
  2954.                             "\n"
  2955.                             "(Les guides font partie de la prochaine copie,    \n"
  2956.                             "         ils sont compatibles avec AmigaGuide)"
  2957.                         )
  2958.                     )
  2959.                 )
  2960.                 (help
  2961.                     (if *lan
  2962.                         (cat
  2963.                             "The total sizes of help files including the "
  2964.                             "utility and the dictionary is about 0.5Mb!"
  2965.                         )
  2966.                         (cat
  2967.                             "La taille totale des fichiers d'aide incluant "
  2968.                             "l'utilitaire et le dictionnaire est environ "
  2969.                             "0.5Mo!"
  2970.                         )
  2971.                     )
  2972.                 )
  2973.                 (choices
  2974.                     (if *lan
  2975.                         "Copy Help"
  2976.                         "Copie les Aides"
  2977.                     )
  2978.                     (if *lan
  2979.                         "Forget Help"
  2980.                         "Oublies ça!"
  2981.                     )
  2982.                 )
  2983.             )
  2984.         )
  2985.         (if *copyhelp
  2986.             (
  2987.                 (set *helpdir (tackon *destdir "HELP"))
  2988.                 (if (not (exists *helpdir))
  2989.                     (makedir *helpdir)
  2990.                 )
  2991.                 (if (exists *helpdir)
  2992.                     (
  2993.                         (if (and
  2994.                                     (not (exists (cat *helpdir ".info")))
  2995.                                     (bitand *copyfiles $0020)
  2996.                                 )
  2997.                             (copyfiles
  2998.                                 (source (tackon *path2 "ICONS/helpDir.info"))
  2999.                                 (dest *destdir)
  3000.                                 (newname (cat (fileonly *helpdir) ".info"))
  3001.                                 (nogauge)
  3002.                             )
  3003.                         )
  3004.                         (copyfiles
  3005.                             (source (tackon *path2 "HELP"))
  3006.                             (dest *helpdir)
  3007.                             (pattern "#?")
  3008.                         )
  3009.                         (if (bitand *copyfiles $0020)
  3010.                             (
  3011.                                 (copyfiles
  3012.                                     (source (tackon *path2 "ICONS/help.info"))
  3013.                                     (dest *helpdir)
  3014.                                     (nogauge)
  3015.                                 )
  3016.                                 (copyfiles
  3017.                                     (source (tackon *path2 "ICONS/dictionary.info"))
  3018.                                     (dest *helpdir)
  3019.                                     (nogauge)
  3020.                                 )
  3021.                                 (foreach *helpdir "#?.hlp"
  3022.                                     (copyfiles
  3023.                                         (source (tackon *path2 "ICONS/help.hlp.info"))
  3024.                                         (dest *helpdir)
  3025.                                         (newname (cat @each-name ".info"))
  3026.                                         (nogauge)
  3027.                                     )
  3028.                                 )
  3029.                             )
  3030.                         )
  3031.                     )
  3032.                 )
  3033.             )
  3034.         )
  3035.     )
  3036. )
  3037.  
  3038. (complete 72)
  3039.  
  3040.  
  3041.  
  3042. (if (bitand *copyfiles $0200)
  3043.     (
  3044.         (set *demo (not (exists (tackon *path2 "GUIDE/français.guide"))))
  3045.         (set *copyguide
  3046.             (askchoice
  3047.                 (prompt
  3048.                     (if *lan
  3049.                         "Do you really want to copy guides ?"
  3050.                         "Voulez-vous vraiment copier les guides ?"
  3051.                     )
  3052.                 )
  3053.                 (help
  3054.                     (if *lan
  3055.                         (cat
  3056.                             "Guides are data base files compatible "
  3057.                             "with AmigaGuide utility of Commodore "
  3058.                             "Business Machine."
  3059.                             (if *demo
  3060.                                 (cat
  3061.                                     "\n\n"
  3062.                                     "A french version is available for those "
  3063.                                     "who desire to become registered."
  3064.                                 )
  3065.                             )
  3066.                         )
  3067.                         (cat
  3068.                             "Les guides sont des fichiers de base de "
  3069.                             "données compactible avec l'utilitaire "
  3070.                             "'AmigaGuide' de Commodore Business Machine."
  3071.                             (if *demo
  3072.                                 (cat
  3073.                                     "\n\n"
  3074.                                     "La version française est disponible pour "
  3075.                                     "les personnes désirant s'enregistrer."
  3076.                                 )
  3077.                             )
  3078.                         )
  3079.                     )
  3080.                 )
  3081.                 (if *demo
  3082.                     (choices
  3083.                         (if *lan
  3084.                             "No Guide"
  3085.                             "Aucun Guide"
  3086.                         )
  3087.                         (if *lan
  3088.                             "English Guide"
  3089.                             "Guide Anglais"
  3090.                         )
  3091.                     )
  3092.                     (choices
  3093.                         (if *lan
  3094.                             "No Guide"
  3095.                             "Aucun Guide"
  3096.                         )
  3097.                         (if *lan
  3098.                             "English Guide"
  3099.                             "Guide Anglais"
  3100.                         )
  3101.                         (if *lan
  3102.                             "French Guide"
  3103.                             "Guide Français"
  3104.                         )
  3105.                         (if *lan
  3106.                             "Both Guides"
  3107.                             "Les deux Guides"
  3108.                         )
  3109.                     )
  3110.                 )
  3111.                 (default (if *demo 1 (+ (bitxor *lan 1) 1)))
  3112.             )
  3113.         )
  3114.         (if *copyguide
  3115.             (
  3116.                 (set *guidedir (tackon *destdir "GUIDE"))
  3117.                 (if (not (exists *guidedir))
  3118.                     (makedir *guidedir)
  3119.                 )
  3120.                 (if (exists *guidedir)
  3121.                     (
  3122.                         (if (and
  3123.                                     (not (exists (cat *guidedir ".info")))
  3124.                                     (bitand *copyfiles $0020)
  3125.                                 )
  3126.                             (copyfiles
  3127.                                 (source (tackon *path2 "ICONS/guideDir.info"))
  3128.                                 (dest *destdir)
  3129.                                 (newname (cat (fileonly *guidedir) ".info"))
  3130.                                 (nogauge)
  3131.                             )
  3132.                         )
  3133.                         (if (bitand *copyguide 1)
  3134.                             (
  3135.                                 (copyfiles
  3136.                                     (source (tackon *path2 "GUIDE/english.guide"))
  3137.                                     (dest *guidedir)
  3138.                                 )
  3139.                                 (if (bitand *copyfiles $0020)
  3140.                                     (copyfiles
  3141.                                         (source (tackon *path2 "ICONS/guide.info"))
  3142.                                         (dest *guidedir)
  3143.                                         (newname "english.guide.info")
  3144.                                         (nogauge)
  3145.                                     )
  3146.                                 )
  3147.                             )
  3148.                         )
  3149.                         (if (bitand *copyguide 2)
  3150.                             (
  3151.                                 (copyfiles
  3152.                                     (source (tackon *path2 "GUIDE/français.guide"))
  3153.                                     (dest *guidedir)
  3154.                                 )
  3155.                                 (if (bitand *copyfiles $0020)
  3156.                                     (copyfiles
  3157.                                         (source (tackon *path2 "ICONS/guide.info"))
  3158.                                         (dest *guidedir)
  3159.                                         (newname "français.guide.info")
  3160.                                         (nogauge)
  3161.                                     )
  3162.                                 )
  3163.                             )
  3164.                         )
  3165.                     )
  3166.                 )
  3167.             )
  3168.         )
  3169.     )
  3170. )
  3171.  
  3172. (complete 100)
  3173.  
  3174.  
  3175.  
  3176. (exit *exit)
  3177.